Я новичок в подготовленном заявлении, и я пытаюсь использовать базовую вставку и обновление, используя jdbcTemplate, который также работает нормально, но я хочу, чтобы журналы печатались для запросов sql в consle, и я не уверен, как этого добиться. Я добавил обязательные свойства в файл application.properties, но он не работает. Пожалуйста, помогите мне, дав некоторые соответствующие предложения или ссылку, которая может решить мою проблему. Заранее спасибо ...
SampleConfiguration.java
@Configuration
public class SampleConfiguration
{
@Bean
public DataSource mysqlDataSource()
{
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.hsqldb.jdbcDriver");
dataSource.setUrl("jdbc:hsqldb:hsql://localhost/");
dataSource.setUsername("SA");
dataSource.setPassword("");
return dataSource;
}
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource)
{
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}
}
SampleService.java
@Service
public interface SampleService
{
public int insert();
public long getCount();
}
SampleServiceImpl.java
@Service
public class SampleServiceImpl implements SampleService
{
@Autowired
JdbcTemplate jdbcTemplate;
@Override
public int insert()
{
return jdbcTemplate.update("insert into batch values(?,?)","field1","field2");
}
@Override
public long getCount()
{
return jdbcTemplate.queryForObject("select count(*) from batch", Long.class);
}
}
SpringjdbcApplication.java
@SpringBootApplication
public class SpringjdbcApplication
{
public static void main(String[] args)
{
ApplicationContext context = SpringApplication.run(SpringjdbcApplication.class, args);
SampleService service = context.getBean(SampleService.class);
System.err.println("The number of rows inserted = "+service.insert());
System.err.println("The count of batch class is = "+service.getCount());
}
}
Entity.java
@Entity
public class Batch implements Serializable
{
private static final long serialVersionUID = -5687736664713755991L;
@Id
@Column(name="field1")
private String field1;
@Column(name="field2")
private String field2;
... getter, setter and no-arg constructor
}
application.properties
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=none
spring.jpa.properties.hibernate.format_sql=true
logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Я хочу знать, как включить запись оператора SQL на консоли и как установить другие свойства, такие как автоматическое принятие или отключение ???