<!--配置數據庫連接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
</bean>
<!--JDBCTemplate對象-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--注入DataSource-->
<property name="dataSource" ref="dataSource"/>
</bean>
創建server類,創建dao類,在dao注入JDBCTemplate對象
開啟組件掃描后
Server類創建對象並且注入Dao
@Service
public class BookService {
//注入dao
@Autowired
private BookDao bookDao;
}
Dao中注入JDBTemplate對象,用來進行數據庫的操作
@Repository
public class BookDaoImpl implements BookDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
}
使用創建好的JDBCTemplate進行數據操作
創建一個數據庫,在數據庫中創建一個表:
create table t_book
(
user_id int not null primary key auto_increment,
username varchar(100) not null ,
ustatus varchar(50) not null
)
對應數據庫表,創建一個實體類
public class Book {
private String userId;
private String username;
private String ustatus;
public String getUserId() {
return userId;
}
public String getUsername() {
return username;
}
public String getUstatus() {
return ustatus;
}
public void setUserId(String userId) {
this.userId = userId;
}
public void setUsername(String username) {
this.username = username;
}
public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
}
編寫Service和dao,在dao進行數據庫的添加操作
調用jdbcTemplate對象里面的update()方法來進行數據庫的添加操作
有兩個參數,是一個參數SQL語句,第二個參是可變參數(SQL語句中的值)
實現數據的添加:
@Repository
public class BookDaoImpl implements BookDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void add(Book book) {
//創建SQL語句
String sql = "insert into t_book(username,ustatus) values(?,?)";
//調用方法實現update.(sql,args)
int update = jdbcTemplate.update(sql, book.getUsername(), book.getUstatus());
System.out.println(update);
}
}
編寫一個測試類(測試增加數據)
public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
//創建book對象
Book book = new Book();
//傳入對象中的值
book.setUsername("測試用戶名");
book.setUstatus("成功");
//調用增加方法
bookService.addBook(book);
}
}
測試結果(數據寫入成功~)
七月 13, 2020 4:35:17 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1
查詢數據庫表可看到
select * from t_book
數據庫的添加操作(完成~)
實現數據的修改
創建修改方法
@Override
public void update(Book book) {
String SQL = "update t_book set username=?,ustatus=? where user_id=?";
int update = jdbcTemplate.update(SQL, book.getUsername(), book.getUstatus(), book.getUserId());
System.out.println(update);
}
編寫一個測試類(測試修改數據)
public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
Book book = new Book();
book.setUserId("1");
book.setUsername("修改測試");
book.setUstatus("yes~");
//調用修改方法
bookService.updateBook(book);
}
}
測試結果(數據修改成功~)
七月 13, 2020 4:47:24 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1
查詢數據庫表可看到
select * from t_book
數據庫的修改操作(完成~)
實現數據的刪除
創建刪除方法
@Override
public void delete(String id) {
String SQL = "delete from t_book where user_id=?";
int update = jdbcTemplate.update(SQL, id);
System.out.println(update);
}
編寫一個測試類(測試刪除數據)
public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
bookService.deleteBook("1");
}
}
測試結果(數據刪除成功~)
七月 13, 2020 4:56:58 下午 com.alibaba.druid.support.logging.JakartaCommonsLoggingImpl info
信息: {dataSource-1} inited
1
查詢數據庫表可看到
select * from t_book
數據庫的刪除操作(完成~)
以上為使用jdbctemplate進行數據庫的增刪改功能~
以下為全部源碼
Bean.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/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--組件掃描服務開啟-->
<context:component-scan base-package="com.minelsg"/>
<!--數據庫連接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="jdbc:mysql://localhost:3306/spring"/>
<property name="username" value="root"/>
<property name="password" value="rzt123123"/>
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
</bean>
<!--JDBC Template對象-->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<!--注入DataSource-->
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>
dao層文件
接口
public interface BookDao {
//添加的方法
void add(Book book);
void update(Book book);
void delete(String id);
}
實現類
@Repository
public class BookDaoImpl implements BookDao {
//注入jdbcTemplate
@Autowired
private JdbcTemplate jdbcTemplate;
//增加操作
@Override
public void add(Book book) {
//創建SQL語句
String sql = "insert into t_book(username,ustatus) values(?,?)";
//調用方法實現update.(sql,args)
int update = jdbcTemplate.update(sql, book.getUsername(), book.getUstatus());
System.out.println(update);
}
//修改操作
@Override
public void update(Book book) {
String SQL = "update t_book set username=?,ustatus=? where user_id=?";
int update = jdbcTemplate.update(SQL, book.getUsername(), book.getUstatus(), book.getUserId());
System.out.println(update);
}
//刪除操作
@Override
public void delete(String id) {
String SQL = "delete from t_book where user_id=?";
int update = jdbcTemplate.update(SQL, id);
System.out.println(update);
}
}
entity層文件
public class Book {
private String userId;
private String username;
private String ustatus;
public String getUserId() {
return userId;
}
public String getUsername() {
return username;
}
public String getUstatus() {
return ustatus;
}
public void setUserId(String userId) {
this.userId = userId;
}
public void setUsername(String username) {
this.username = username;
}
public void setUstatus(String ustatus) {
this.ustatus = ustatus;
}
}
Server層文件
@Service
public class BookService {
//注入dao
@Autowired
private BookDao bookDao;
//添加的方法
public void addBook(Book book){
bookDao.add(book);
}
//修改的方法
public void updateBook(Book book){
bookDao.update(book);
}
//刪除的方法
public void deleteBook(String id){
bookDao.delete(id);
}
}
測試類
public class testBook {
@Test
public void testJdbcTemplate(){
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = (BookService)context.getBean("bookService");
Book book = new Book();
//book.setUsername("測試用戶名");
//book.setUstatus("成功");
//bookService.addBook(book);
//book.setUserId("1");
//book.setUsername("修改測試");
//book.setUstatus("yes~");
bookService.deleteBook("1");
}
}
Done~
