目录 什么是 JdbcTemplate 使用 引入依赖 在 spring 配置文件配置数据库连接池 将数据参数写信写入jdbc.properties 在xml配置文件中引入jdbc.properties 在xml配置文件中创建druid数据库连接池 配置 JdbcTemplate 对象,注入 DataSource 创建数据库表以及创建对应的类 创建数据库表t_man 实体类 Dao接口、实现类以及Service类 开启组件扫面并将对应的类加上注解 JdbcTemplate 操作数据库(添加) 查询某个值 根据条件查询返回某个对象 查询对象集合 什么是 JdbcTemplate Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作。
使用 引入依赖 我这里将之前的项目中的依赖也放进来了,有的可能用不到。
junit
junit
4.11
test
org.springframework
spring-context
5.3.16
commons-logging
commons-logging
1.2
aopalliance
aopalliance
1.0
cglib
cglib
3.3.0
org.aspectj
aspectjweaver
1.9.7
org.springframework
spring-aspects
5.3.16
com.alibaba
druid
1.1.9
mysql
mysql-connector-java
8.0.19
org.springframework
spring-jdbc
5.3.16
org.springframework
spring-orm
5.3.16
org.springframework
spring-tx
5.3.16
在 spring 配置文件配置数据库连接池 将数据参数写信写入jdbc.properties
jdbc.properties内容
url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
username=root
password=1230
driver-class-name=com.mysql.cj.jdbc.Driver
在xml配置文件中引入jdbc.properties
在xml配置文件中创建druid数据库连接池
配置 JdbcTemplate 对象,注入 DataSource
创建数据库表以及创建对应的类 创建数据库表t_man
实体类
Dao接口、实现类以及Service类 分别为 ManDao、ManDaoImpl、ManService 里面目前没什么方法 开启组件扫面并将对应的类加上注解
JdbcTemplate 操作数据库(添加) 我们是在测试方法中调用Service对象的方法,然后Service调用Dao的实现类的方法来实现的,因此我们需要现在Dao以及Service中增加方法并且在Service中注入Dao对象,在Dao中需要注入JdbcTemplate来实现方法。
Dao接口
public interface ManDao {
int addEntity(Man man);
}
Dao实现类
@Repository
public class ManDaoImpl implements ManDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public int addEntity(Man man) {
String sql = "insert into t_man(user_name,sex) values(?,?)";
int update = jdbcTemplate.update(sql, man.getUserName(), man.getSex());
return update;
}
}
Service类
@Service
public class ManService {
@Autowired
private ManDao dao;
public int insertMan(Man man) {
return dao.addEntity(man);
}
}
测试
修改与删除调用的都是差不多这里不再写。
查询某个值 查询id为1的 username Dao接口中加入以下方法
String getNameByUserId(int id);
Dao实现类实现上述方法
@Override
public String getNameByUserId(int id) {
String sql = "select user_name from t_man where uid = ?" ;
return jdbcTemplate.queryForObject(sql,String.class,id);
}
Service中调用
public String getNameById(int id) {
return dao.getNameByUserId(id);
}
}
测试
根据条件查询返回某个对象 加入如下方法
Dao中方法
Man getEntityById(int id);
实现类实现方法
@Override
public Man getEntityById(int id) {
String sql = "select uid, user_name userName ,sex from t_man where uid =?";
return jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper(Man.class),id);
}
Service中调用
public Man getManById(int id) {
return dao.getEntityById(id);
}
测试
查询对象集合
代码
Dao方法
List findAll();
实现类实现方法
@Override
public List findAll() {
String sql = "select uid, user_name userName ,sex from t_man";
return jdbcTemplate.query(sql,new BeanPropertyRowMapper(Man.class));
}
Service中方法调用
public List getAllMan() {
return dao.findAll();
}
测试
