spring jdbcTemplate实现crud操作
来源:互联网 发布:波段轻松涨停指标源码 编辑:程序博客网 时间:2024/06/05 06:29
spring中对jdbc的封装模板jdbcTemplate可以大大简化jdbc的crud操作
使用jdbcTemplate实现crud操作步骤:
1.导入相关jar包
除了其他相关spring的jar还需要这两个(当然除了这些jar包还要导入数据库的驱动jar包)
2.测试类(数据的增删改都可以调用update方法)
package com.lee.jdbcTemplate;import org.junit.Test;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.datasource.DriverManagerDataSource;public class JDBC {@Testpublic void add(){//配置数据库连接相关操作DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql:///sun");dataSource.setUsername("root");dataSource.setPassword("sunshine");//创建jdbcTemplate对象,设置数据源JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);//通过jdbcTemplate实现crudString sql = "insert into user values(?,?,?)";int row = jdbcTemplate.update(sql, "root","cindy","123");System.out.println(row);}}
关于数据的查询操作:
@Testpublic void query(){//配置数据库连接相关操作DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql:///sun");dataSource.setUsername("root");dataSource.setPassword("sunshine");//创建jdbcTemplate对象,设置数据源JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);//通过jdbcTemplate实现crud//查询一条数据String sql = "select count(*) from user";int count = jdbcTemplate.queryForObject(sql, Integer.class);System.out.println(count);}查询数据封装成对象:
@Testpublic void queryObject(){//配置数据库连接相关操作DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql:///sun");dataSource.setUsername("root");dataSource.setPassword("sunshine");//创建jdbcTemplate对象,设置数据源JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);//通过jdbcTemplate实现crud//查询一条数据String sql = "select * from user where name = ?";User user = jdbcTemplate.queryForObject(sql, new myRowMapper(),"cindy");System.out.println(user);}jdbc调用查询对象的方法,封装了一部分,需要自己写一个类实现RowMapper接口中的方法
class myRowMapper implements RowMapper<User>{@Overridepublic User mapRow(ResultSet rs, int num) throws SQLException {//jdbcTemplate封装到了获取到结果集这一步User user = new User();user.setUserid(rs.getString(1));user.setName(rs.getString(2));user.setPassword(rs.getString(3));return user;}}通过以上实现的类,还可以查询出多条user对象的集合
@Testpublic void queryList(){//配置数据库连接相关操作DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql:///sun");dataSource.setUsername("root");dataSource.setPassword("sunshine");//创建jdbcTemplate对象,设置数据源JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);//通过jdbcTemplate实现crud//查询一条数据String sql = "select * from user";List<User> list = jdbcTemplate.query(sql, new myRowMapper());System.out.println(list);}
jdbcTemplate结合c3p0
模拟web项目service层调用dao层
1.导入jar包
除了c3p0的jar还要一个依赖包mchange-commons
2.service层UserService.java
package com.lee.service;import com.lee.dao.UserDao;public class UserService {private UserDao userDao;public void setUserDao(UserDao userDao) {this.userDao = userDao;}//调用dao层,完成数据操作public void count(){System.out.println(this.userDao.count());}}3.dao层UserDao.java
package com.lee.dao;import org.springframework.jdbc.core.JdbcTemplate;public class UserDao {//封装的jdbc模板通过spring配置文件创建private JdbcTemplate jdbcTemplate;public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {this.jdbcTemplate = jdbcTemplate;}//数据量查询public int count() {String sql = "select count(*) from user";int num = this.jdbcTemplate.queryForObject(sql, Integer.class);return num;}}
4.spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 配置c3p0 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql:///sun" /><property name="user" value="root" /><property name="password" value="sunshine" /></bean><bean id="userDao" class="com.lee.dao.UserDao"><!-- userDao通过jdbc模板操作数据库 --><property name="jdbcTemplate" ref="jdbcTemplate" /></bean><bean id="userService" class="com.lee.service.UserService"><property name="userDao" ref="userDao" /></bean><!-- 配置jdbc模板 --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><!-- 有参构造方法中调用了setDataSource方法 ,把c3p0的到dataSource传进去--><property name="dataSource" ref="dataSource" /></bean></beans>
5.测试类
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContextC3p0.xml");UserService userService = (UserService) context.getBean("userService");userService.count();
阅读全文
0 0
- spring jdbcTemplate实现crud操作
- JdbcTemplate实现CRUD操作
- Spring 利用jdbcTemplate 实现CRUD
- Spring框架学习第六讲(JDBCTemplate实现CRUD操作)
- jdbcTemplate实现crud操作(查询介绍)
- jdbctemplate之crud操作
- jdbcTemplate实现crud操作(添加、删除、更改操作)
- Spring JdbcTemplate实现数据库操作
- jdbcTemplate的CRUD操作总结
- Spring使用JdbcTemplate实现对数据库操作
- Spring使用JdbcTemplate实现对数据库操作
- Spring使用JdbcTemplate实现对数据库操作
- Spring使用JdbcTemplate实现对数据库操作
- Spring使用JdbcTemplate实现对数据库操作
- Spring使用JdbcTemplate实现对数据库操作
- spring jdbctemplate 实现数据库的查询操作
- J:\java资料全套\基础+就业\Spring框架2016版视频\day03视频\08-jdbcTemplate实现crud操作(查询list集合).java
- Spring JdbcTemplate批量操作
- git(十一)-git远程分支底层剖析
- 53. Maximum Subarray(java)
- 文章标题
- JasperReport报表技术导出PDF报表(使用IReport设计工具 )
- win10-64 下安装 tensorflow 和scrapy
- spring jdbcTemplate实现crud操作
- 机器学习精简教程之六——用随机梯度下降法(SGD)做线性拟合
- Eclipse连接数据库时出现Could not connect to New SQL Server
- 醒醒吧,这世界上根本没有稳定的工作
- 事物—事物四大特性
- 设计模式之禅笔记-门面模式
- CSU-ACM2017暑期训练5-三分 E
- c语言模拟实现c++的继承和多态
- CentOS下的Nginx安装配置