Spring JDBCTemplate 增刪查功能 (簡單易懂)
阿新 • • 發佈:2020-07-13
------------恢復內容開始------------
<!--配置資料庫連線池--> <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層檔案
測試類
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~
------------恢復內容結束------------