Spring-JdbcTemplate环境搭配及基本功能
文章目录
- JdbcTemplate概述
- 一、导入坐标
- 二、在resource资源包下新建applicationContext.xml并配置
- 在resource资源包下新建jdbc.properties存入MySQL的连接数据
- 三、建包测试一下
- 1、在pojo包下建User类
- 2、在UserDao接口下定义增删改查方法
- 3、在UserDaoImpl中实现Dao接口中的方法
- 4、编写测试类
前言:当控制台报
Unsupported class file major version 61
错误时,建议更换JDK版本,换成JDK16以前的版本
父文章:Spring对数据持久化的支持
JdbcTemplate概述
Spring提供了工具类JdbcTemplate,该类对jdbc的操作进行了轻量级别的封装,包含了操作数据库的各种方法。该类包含一个dataSource属性(数据源),只有在初始化数据源的情况下才能调用JdbcTemplate的方法。
数据源:数据源为主流连接池的数据源对象(例如C3P0,DBCP数据库连接池),因此在使用JdbcTemplate前,要创建数据源对象。
JdbcTemplate的优点:
优点:运行期:高效、内嵌Spring框架中、支持基于AOP的声明式事务,可节省大量的冗余代码(创建连接,关闭连接,处理异常),只关注业务逻辑即可。
一、导入坐标
- 这边呢有用的没用的我都导了几个,之前有bug的时候加入的
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.17</version></dependency><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.10.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.0.2.RELEASE</version></dependency></dependencies>
二、在resource资源包下新建applicationContext.xml并配置
<?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:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"><context:property-placeholder location="jdbc.properties"/>
<context:component-scan base-package="com.wk"></context:component-scan><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/></bean><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><constructor-arg index="0" ref="dataSource"></constructor-arg></bean>
</beans>
在resource资源包下新建jdbc.properties存入MySQL的连接数据
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test
jdbc.username=root
jdbc.password=123
三、建包测试一下
1、在pojo包下建User类
public class User {private String username;private String password;private String email;private String phone;private String birth;private Integer id;public User() {}public User(String username, String password, String email, String phone, String birth, Integer id) {this.username = username;this.password = password;this.email = email;this.phone = phone;this.birth = birth;this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getBirth() {return birth;}public void setBirth(String birth) {this.birth = birth;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +", email='" + email + '\'' +", phone='" + phone + '\'' +", birth='" + birth + '\'' +", id=" + id +'}';}
}
2、在UserDao接口下定义增删改查方法
public interface UserDao {//插入一条用户信息void adduser(User user);//查找用户信息List<User> queryuser(String username);//修改用户信息int updateuser(String username,int id);//删除用户int deleteuser(String username);}
3、在UserDaoImpl中实现Dao接口中的方法
public class UserDaoImpl implements UserDao {@Autowiredprivate JdbcTemplate jdbcTemplate;@Overridepublic void adduser(User user) {String sql="insert into user(username,password) value(?,?)";int update = jdbcTemplate.update(sql, user.getUsername(), user.getPassword());System.out.println(update);}@Overridepublic List<User> queryuser(String username) {String sql = "select * from user where username=?";//创建一个新的BeanPropertyRowMapper对象RowMapper<User> rowMapper = new BeanPropertyRowMapper<User>(User.class);//将id绑定到SQL语句中,并通过RowMapper返回一个Object类型的单行记录List<User> query = jdbcTemplate.query(sql, rowMapper, username);return query;}@Overridepublic int updateuser(String username,int id) {String sql="update user set username=? where id=?";int update = jdbcTemplate.update(sql, username,id);return update;}@Overridepublic int deleteuser(String username) {String sql = "delete from user where username=?";int update = jdbcTemplate.update(sql, username);return update;}
}
4、编写测试类
public class Test {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");UserDao userDao= (UserDao) ctx.getBean("userDaoImpl");User user = new User();user.setUsername("北条");user.setPassword("123123");userDao.adduser(user);// List<User> queryuser = userDao.queryuser("史蒂夫");
// System.out.println(queryuser);// int ikun = userDao.updateuser("ikun", 2);
// if (ikun==0){// System.out.println("信息修改失败");
// }else {// System.out.println("修改成功");
// }
//
// int kun = userDao.deleteuser("小黑子");
// if (kun==0){// System.out.println("删除失败");
// }else {// System.out.println("删除成功");
// }}
}
Spring-JdbcTemplate环境搭配及基本功能相关推荐
- 【SSM框架系列】Spring - JdbcTemplate声明式事务
JdbcTemplate概述 以往使用jdbc时,每次都需要自己获取PreparedStatement,执行sql语句,关闭连接等操作.操作麻烦冗余,影响编码的效率. Spring把对数据库的操作在j ...
- 06_02_任务三:Spring JDBCTemplate 声明式事务
任务三:Spring JDBCTemplate & 声明式事务 课程任务主要内容: Spring的JdbcTemplate Spring的事务 Spring集成web环境 一 Spring的J ...
- Spring JdbcTemplate方法详解
2019独角兽企业重金招聘Python工程师标准>>> Spring JdbcTemplate方法详解 标签: springhsqldbjava存储数据库相关sql 2012-07- ...
- Spring MVC环境中的文件上传功能实现
在实际开发过程中,尤其是web项目开发,文件上传和下载的需求的功能非常场景,比如说用户头像.商品图片.邮件附件等等.其实文件上传下载的本质都是通过流的形式进行读写操作,而在开发中不同的框架都会对文件上 ...
- 利用Maven搭建Spring开发环境 【转】
2019独角兽企业重金招聘Python工程师标准>>> 一. 概要说明 最近几天在测试Spring3.0的AOP功能,在测试功能之前,首先是要搭建出Spring3.0的开发功能. ...
- jQuery 开发环境搭配(转)
jQuery 作为一个轻量级的 JavaScript 库,至 06 年出来到现在, 也算是用得最火的 JavaScript 库了吧, 要开始学习 jQuery ,首先还是必须得把环境搭配好吧, 这一篇 ...
- 搭建spring boot环境并测试一个controller
Idea搭建spring boot环境 一.新建项目 二.起步依赖 三.编写SpringBoot引导类 四.编写Controller 五.热部署 一.新建项目 1.新建project 2.选择Spri ...
- spring 开发环境_设置Spring 3开发环境
spring 开发环境 本教程简要说明了如何设置典型的环境来开发基于Spring的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. 在教程 ...
- Spring JdbcTemplate实例
简介 Spring JdbcTemplate类是Spring提供的简化数据库操作的一个类,这个类使用了模板方法模式,可以减少一些重复代码.这里主要演示一下 JdbcTemplate 的使用. 完整的代 ...
最新文章
- anaconda创建环境
- apache和nginx的性能分析
- python【数据结构与算法】内建模块itertools(操作迭代对象)
- JVM垃圾回收3——参数详解(转载)
- Android—— ScrollView 与 ListView 滑动冲突处理
- python爬虫脚本ie=utf-8_Python网络爬虫出现乱码问题的解决方法
- Android EditText的设置
- 随机森林与梯度提升树
- Ubuntu18.04安装VCS、Verdi、dve全套教程亲测(有成功截图)
- 【C++深度剖析教程4】C++的二阶构造模式
- (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节1:I/O设备的概念和分类
- 印度软件和中国软件工程师_印度社区如何支持隐私和软件自由
- C++中类成员变量在初始化列表中的初始化顺序
- java jsp公共异常页面_Java如何创建JSP错误页面以处理异常?
- 内存分配知识:全局,局部,静态变量
- Javascript--闭包引起的IE内存泄露(转载)
- SPSS-PROCESS插件的使用
- PPC软件测试自学,一个成功的PPC广告活动所需的五个步骤
- java使用pdfbox将图片转换成pdf
- 武汉大学计算机学院成绩单,2018年武汉大学各学院总评成绩计算公式汇总
热门文章
- window.XMLHttpRequest
- Android电子书翻页效果实现
- Chrome浏览器开启手机调试模式就断网解决
- 使用JavaFX控件
- Note for Linux
- 线性代数学习笔记——第十三讲——行列式的定义
- Flutter 新闻客户端 - 09 详情页展示、分享、远程真机调试
- 计算机毕业设计SSM仿咸鱼二手物品交易系统【附源码数据库】
- 蚂蚁金服对收购英支付企业不予置评,雷军忆当年“被迫”当金山CEO往事 | 雷锋早报...
- 显示器接口_显示器USB接口的作用是什么?为什么会没有反应?