目录:
- 一、概述和准备工作
- 1.什么是Jdbc Template
- 2.准备工作
- 二、添加功能
- 1.基本步骤
- 2.批量添加
- 三、修改、删除功能
- 1.基本步骤
- 2.批量修改和删除
- 四、查询功能
- 1.查询返回某个值
- 2.查询返回对象
- 3.查询返回集合
一、概述和准备工作
1.什么是Jdbc Template
Jdbc是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法,而Jdbc Template是对Jdbc的封装。
2.准备工作
从这一章开始,我们重新创建项目spring5_demo2。
- 引入相关的jar包:
除了原本的jar包,还需要新增mysql-connector-java-8.0.23.jar、spring-orm-5.2.6.RELEASE.jar、spring-tx-5.2.6.RELEASE.jar、spring-jdbc-5.2.6.RELEASE.jar,除了第一个后面几个都能在spring-5.2.6.RELEASE-dist文件夹下找到。
需要注意的是,一定要确认好自己的mysql的版本,会影响选择的connector版本。比如,我用的是mysql 8,我在maven仓库中下载的也是connector 8。
- 在xml文件中配置数据库连接池:
首先在src目录下新建bean.xml文件,作如下配置:
<!--数据库连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<!--spring_db是你的数据库名,需要先在mysql中创建好才行-->
<property name="url" value="jdbc:mysql:///spring_db" />
<property name="username" value="root" />
<property name="password" value="这里是你的mysql密码" />
<!--对不同的connector.jar版本value写法不同
mysql 8是如下写法,而mysql 5应该是com.mysql.jdbc.Driver-->
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
</bean>
- 配置jdbcTemplate对象,注入DataSource连接池对象:
<!--JdbcTemplate对象-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--注入dataSource-->
<property name="dataSource" ref="dataSource"></property>
</bean>
- 创建相应的service类和dao类,在dao类中注入JdbcTemplate对象
在com.wang下 创建包service和包dao,在service包下创建BookService类,在dao下创建BookDao接口和其实现类BookDaoImpl,这几个类及接口的代码如下:
@Component
public interface BookDao {
}
@Component
public class BookDaoImpl implements BookDao {
@Autowired
private JdbcTemplate jdbcTemplate;
}
@Service
public class BookService {
@Autowired
private BookDao bookDao;
}
- 在xml配置文件中开启组件扫描,并给创建的类添加相应的注释
前面已经说过了,自己写写代码吧。
二、添加功能
1.基本步骤
(1)对应数据库表创建实体类
- 我们在com.wang下创建包entity,用来存放所有的实体类,然后在entity下创建User类,如下:
package com.wang.entity;
public class User {
private int user_id;
private String user_name;
private int user_age;
private String user_gender;
public User(){}
public User(int user_id, String user_name, int user_age, String user_gender) {
this.user_id = user_id;
this.user_name = user_name;
this.user_age = user_age;
this.user_gender = user_gender;
}
public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id)