JdbcTemplate怎么在springBoot中使用
今天就跟大家聊聊有关JdbcTemplate怎么在springBoot中使用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
springBoot使用JdbcTemplate
如果是通过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中使用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注恰卡编程网行业资讯频道,感谢大家的支持。
推荐阅读
-
vue动态添加删除输入框(springboot vue怎么让数据库显示出来)
springbootvue怎么让数据库显示出来?一般情况下是前端调阅后端接口,来获取到数据库的数据,后端哪里会把数据库的数据整理...
-
springboot实现基于aop的切面日志
本文实例为大家分享了springboot实现基于aop的切面日志的具体代码,供大家参考,具体内容如下通过aop的切面方式实现日志...
-
SpringBoot定时任务功能怎么实现
-
SpringBoot中的@Import注解怎么使用
-
SpringBoot整合Lombok及常见问题怎么解决
-
springboot图片验证码功能模块怎么实现
-
Springboot+SpringSecurity怎么实现图片验证码登录
-
SpringBoot注解的知识点有哪些
SpringBoot注解的知识点有哪些这篇“SpringBoot注...
-
SpringBoot2.x中management.security.enabled=false无效怎么解决
-
springboot怎么禁用某项健康检查
springboot怎么禁用某项健康检查今天小编给大家分享一下sp...