Spring操作JdbcTemplate數據庫的方法學習
Spring操作JdbcTemplate
spring 對 jdbc 做瞭封裝,就是 JdbcTemplate,可以讓操作數據庫更加方便。
一、準備工作
1. 引入依賴
在之前的基礎上,再引入這些依賴。
2. 配置文件中配置數據庫連接池
外部文件 jdbc.properties:
prop.driverClass=com.mysql.jdbc.Driver prop.url=jdbc:mysql://localhost:3306/userDb prop.username=root prop.password=123456
配置文件引入:
<?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" xmlns:aop="http://www.springframework.org/schema/aop" 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 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd"> <context:component-scan base-package="com.pingguo.spring5"></context:component-scan> <!--引入外部屬性文件--> <context:property-placeholder location="classpath:jdbc.properties"/> <!--配置連接池--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="driverClassName" value="${prop.driverClass}"></property> <property name="url" value="${prop.url}"></property> <property name="username" value="${prop.username}"></property> <property name="password" value="${prop.password}"></property> </bean> </beans>
3. 配置 JdbcTemplate 對象
註入 DataSource。
... ... <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <!--註入datasource--> <property name="dataSource" ref="dataSource"></property> </bean> ... ...
4. dao 中註入 JdbcTemplate 對象
創建 dao,在裡面註入 JdbcTemplate 。
@Repository public class BookDaoImpl implements BookDao { // 註入 jdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; }
創建 service 類,在裡面註入 dao。
@Service public class BookService { // 註入dao @Autowired private BookDao bookDao; }
二、操作數據庫
以添加為例。
建一個很簡單的表,裡面有 3 個字段。
1. 創建對應實體類
創建數據表對應的實體類,並且生成 3 個屬性的 get、set方法。
public class Book { private String userId; private String username; private String userStatus; public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } ... ...
2. 編寫service 和 dao
service
@Service public class BookService { // 註入dao @Autowired private BookDao bookDao; public void addBook(Book book) { bookDao.add(book); } }
dao 的實現類。
@Repository public class BookDaoImpl implements BookDao { // 註入 jdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; @Override public void add(Book book) { String sql = "insert into t_book values (?, ?, ?)"; int result = jdbcTemplate.update(sql, book.getUserId(), book.getUsername(), book.getUserStatus()); System.out.println(result); } }
使用 jdbcTemplate.update() 方法進行添加,第一個參數是 sql,第二個不定長參數,成功則返回 1。
3. 編寫測試
public class TestBook { @Test public void testJdbc() { ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml"); BookService bookService = context.getBean("bookService", BookService.class); Book book = new Book(); book.setUserId("1"); book.setUsername("ceshi"); book.setUserStatus("3"); bookService.addBook(book); } }
運行結果:
八月 05, 2021 10:35:15 下午 com.alibaba.druid.pool.DruidDataSource info 信息: {dataSource-1} inited 1 Process finished with exit code 0
查看數據表
成功添加。
刪除跟修改操作跟上面類似瞭,不再演示。
以上就是Spring操作JdbcTemplate數據庫方法學習的詳細內容,更多關於Spring操作JdbcTemplate的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Spring超詳細講解IOC與解耦合
- Spring Boot 整合持久層之JdbcTemplate
- Spring IOC容器基於XML外部屬性文件的Bean管理
- AOP之事務管理<aop:advisor>的兩種配置方式
- Spring項目中使用Junit單元測試並配置數據源的操作