<!--配置數據庫連接池--> <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~