Jdbc Template
1.Spring框架 对JDBC进行封装,使用 Jdbc Template 方便实现对数据库操作
2.准备工作
(1) 引入相关jar包
(2)在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"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/test?&useSSL=false&serverTimezone=UTC" />
<property name="username" value="root" />
<property name="password" value="root" />
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
</bean>
</beans>
配置JdbcTemplate 对象,注入DataSource
<!-- JdbcTemplate -->
<bean id = "jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!-- 注入dataSource -->
<property name="dataSource" ref="dataSource"></property>
</bean>
(4)创建service 类创建dao类,在dao注入JdbcTemplate对象
配置文件中 开启注解扫描
dao实现类中注入 jdbc 模板
package dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class BookDaoImpl implements BookDao{
//注入JDBCTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
}
service 中注入 dao类
package service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import dao.BookDao;
@Service
public class BookService {
@Autowired
private BookDao userDao;
}
JdbcTemplate 操作数据库 (添加)
1.创建数据库对应的实体类
2. 编写service和dao
在dao进行数据库添加操作
进行添加语句
package dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import pojo.User;
@Repository
public class BookDaoImpl implements BookDao{
//注入JDBCTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//添加方法
@Override
public void add(User user) {
//创建sql语句
String sql ="insert into Student (xuehao,name,sex,location) values(?,?,?,?)";
int update = jdbcTemplate.update(sql,user.getXuehao(),user.getName(),user.getSex(),user.getLocation());
System.out.println(update);
}
}
进行测试
package Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import pojo.User;
import service.BookService;
public class test {
public static void main(String[] args) {
ApplicationContext c =new ClassPathXmlApplicationContext("JDBC.xml");
BookService bean = c.getBean("bookService",BookService.class);
bean.addUser(new User("123","小王","男","临沂大帝"));
}
}
查询
删除
也类似`
/**
* @Author m.kong
* @Date 2021/2/28 下午9:20
* @Version 1.0
*/
@Repository
public class BookDaoImpl implements BookDao{
/**
* 批量添加数据
* @param books
*/
@Override
public void batchAddBook(List<Object[]> books) {
String sql = "Insert into t_user values(?,?,?)";
int[] res = jdbcTemplate.batchUpdate(sql, books);
System.out.println(Arrays.toString(res));
}
/**
* 批量删除
*/
@Override
public void batchDelBook(List<Object[]> ids) {
String sql = "DELETE FROM t_user WHERE user_id = ?";
int[] res = jdbcTemplate.batchUpdate(sql, ids);
System.out.println(Arrays.toString(res));
}
/**
* 批量更新数据
* @param books
*/
@Override
public void batchUpdateBook(List<Object[]> books) {
String sql = "Update t_user set username = ?,ustates = ? where user_id = ?";
int[] res = jdbcTemplate.batchUpdate(sql, books);
System.out.println(Arrays.toString(res));
}
/**
* 注入JdbcTemplate
*/
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 添加方法
* @param book 书
*/
@Override
public void add(Book book) {
Object[] args = {book.getUserId(),book.getUsername(),book.getUserStatus()};
int update = jdbcTemplate.update("insert into t_user values (?,?,?)", args);
System.out.println("update successful!" + update);
}
@Override
public void update(Book book) {
Object[] args = {book.getUsername(),book.getUserStatus(),book.getUserId()};
int update = jdbcTemplate.update("update t_user set username = ?,ustates = ? where user_id = ?", args);
System.out.println("update successful!" + update);
}
@Override
public void deleteBook(String id) {
int update = jdbcTemplate.update("delete from t_user where user_id = ?", id);
System.out.println("delete successful!" + update);
}
@Override
public int selectCount() {
String sql = "select count(*) from t_user";
int count = jdbcTemplate.queryForObject(sql,Integer.class);
return count;
}
}
`