JdbcTemplate怎么在springBoot中使用

今天就跟大家聊聊有关JdbcTemplate怎么在springBoot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

springBoot使用JdbcTemplate

JdbcTemplate怎么在springBoot中使用

如果是通过spring自动注入的jdbcTemplate,配好application.properties在其他类中就能在其他类中直接使用。

如果通过new JdbcTemplate()出来的就需要自己配置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<Object[]>batchArgs=newArrayList<Object[]>();
batchArgs.add(newObject[]{"caoyc","北京"});
batchArgs.add(newObject[]{"zhh","重庆"});
batchArgs.add(newObject[]{"cjx","天津"});

jdbcTemplate.batchUpdate(sql,batchArgs);
}

publicvoiddeleteUser(intid){
Stringsql="deletefromuserwhereid=?";

jdbcTemplate.update(sql,newObject[]{id},newint[]{java.sql.Types.INTEGER});
}

publicvoidupdateUser(UserInfou){
Stringsql="updateusersetname=?whereid=?";

jdbcTemplate.update(sql,newObject[]{u.getName(),u.getId()});
}

publicList<UserInfo>queryUser(intid){
Stringsql="select*fromuserwhereid=?";
//RowMapper<UserInfo>rowMapper=newBeanPropertyRowMapper<>(UserInfo.class);
returnjdbcTemplate.query(sql,newObject[]{id},newUserRowMapper());
}
classUserRowMapperimplementsRowMapper<UserInfo>{
publicUserInfomapRow(ResultSetres,intarg1)throwsSQLException{
UserInfou=newUserInfo();
u.setId(res.getInt("id"));
u.setName(res.getString("name"));
u.setAddress(res.getString("address"));
returnu;
}
}
}

手动配置如下

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);

看完上述内容,你们对JdbcTemplate怎么在springBoot中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。

发布于 2021-03-24 01:23:02
收藏
分享
海报
0 条评论
162
上一篇:getElementXXX()函数怎么在TypeScript中使用 下一篇:怎么在Java中利用Callable和Future创建线程
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码