springBoot使用JdbcTemplate代码实例
springBoot使用JdbcTemplate
如果是通过spring自动注入的jdbcTemplate,配好application.properties在其他类中就能在其他类中直接使用。
如果通过newJdbcTemplate()出来的就需要自己配置DataSource。
自动注入如下
application.properties文件
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSourceC3P0Adapter
UserDao
packagecom.example.demo.dao;
importcom.example.demo.pojo.UserInfo;
importorg.springframework.jdbc.core.JdbcTemplate;
importorg.springframework.jdbc.core.PreparedStatementCreator;
importorg.springframework.jdbc.core.RowMapper;
importorg.springframework.jdbc.support.GeneratedKeyHolder;
importorg.springframework.jdbc.support.KeyHolder;
importorg.springframework.stereotype.Repository;
importjavax.annotation.Resource;
importjava.sql.*;
importjava.util.ArrayList;
importjava.util.List;
@Repository
publicclassUserDao{
@Resource
privateJdbcTemplatejdbcTemplate;
publicUserInfocreateUser(UserInfou){
Stringsql="insertintouser(name,address)values(?,?)";
KeyHolderholder=newGeneratedKeyHolder();
jdbcTemplate.update(newPreparedStatementCreator(){
publicPreparedStatementcreatePreparedStatement(Connectionconn)throwsSQLException{
PreparedStatementps=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps.setString(1,u.getName());
ps.setString(2,u.getAddress());
returnps;
}
},holder);
intinsertId=holder.getKey().intValue();
u.setId(insertId);
returnu;
}
publicvoidcreateUserList(){
Stringsql="insertintouser(name,address)values(?,?)";
List
手动配置如下
DriverManagerDataSourcedataSource=newDriverManagerDataSource();
dataSource.setDriverClassName("org.postgresql.Driver");
dataSource.setUrl("jdbc:postgresql://127.0.0.1:5432/postgres");
dataSource.setUsername("postgres");
dataSource.setPassword("332578");
JdbcTemplatejdbcTemplate=newJdbcTemplate(dataSource);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。