Spring操作JdbcTemplate數(shù)據(jù)庫的方法學習
Spring操作JdbcTemplate
spring 對 jdbc 做了封裝,就是 JdbcTemplate,可以讓操作數(shù)據(jù)庫更加方便。
一、準備工作
1. 引入依賴
在之前的基礎(chǔ)上,再引入這些依賴。
2. 配置文件中配置數(shù)據(jù)庫連接池
外部文件 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 對象
創(chuàng)建 dao,在里面注入 JdbcTemplate 。
@Repository public class BookDaoImpl implements BookDao { // 注入 jdbcTemplate @Autowired private JdbcTemplate jdbcTemplate; }
創(chuàng)建 service 類,在里面注入 dao。
@Service public class BookService { // 注入dao @Autowired private BookDao bookDao; }
二、操作數(shù)據(jù)庫
以添加為例。
建一個很簡單的表,里面有 3 個字段。
1. 創(chuàng)建對應(yīng)實體類
創(chuàng)建數(shù)據(jù)表對應(yīng)的實體類,并且生成 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 的實現(xiàn)類。
@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() 方法進行添加,第一個參數(shù)是 sql,第二個不定長參數(shù),成功則返回 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); } }
運行結(jié)果:
八月 05, 2021 10:35:15 下午 com.alibaba.druid.pool.DruidDataSource info 信息: {dataSource-1} inited 1 Process finished with exit code 0
查看數(shù)據(jù)表
成功添加。
刪除跟修改操作跟上面類似了,不再演示。
以上就是Spring操作JdbcTemplate數(shù)據(jù)庫方法學習的詳細內(nèi)容,更多關(guān)于Spring操作JdbcTemplate的資料請關(guān)注腳本之家其它相關(guān)文章!
- SpringBoot用JdbcTemplates操作Mysql實例代碼詳解
- Spring JdbcTemplate執(zhí)行數(shù)據(jù)庫操作詳解
- SpringBoot整合JdbcTemplate的示例代碼
- Spring?Boot整合持久層之JdbcTemplate多數(shù)據(jù)源
- Spring Boot 整合持久層之JdbcTemplate
- Spring學習JdbcTemplate數(shù)據(jù)庫事務(wù)參數(shù)
- Spring框架JdbcTemplate數(shù)據(jù)庫事務(wù)管理完全注解方式
- Spring JdbcTemplate實現(xiàn)添加與查詢方法詳解
相關(guān)文章
關(guān)于java String中intern的深入講解
這篇文章主要給大家介紹了關(guān)于java String中intern的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-04-04mybatis-plus?插入修改配置默認值的實現(xiàn)方式
這篇文章主要介紹了mybatis-plus?插入修改配置默認值的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Java中的FutureTask實現(xiàn)異步任務(wù)代碼實例
這篇文章主要介紹了Java中的FutureTask實現(xiàn)異步任務(wù)代碼實例,普通的線程執(zhí)行是無法獲取到執(zhí)行結(jié)果的,FutureTask?間接實現(xiàn)了?Runnable?和?Future?接口,可以得到子線程耗時操作的執(zhí)行結(jié)果,AsyncTask?異步任務(wù)就是使用了該機制,需要的朋友可以參考下2024-01-01idea使用外置tomcat配置springboot詳細步驟
昨天小編遇到一個問題使用springboot自帶的tomcat啟動沒有任何問題,不知道idea使用外置tomcat配置springboot該如何設(shè)置的,今天小編給大家分享一篇教程幫助大家解決這個問題2021-07-07quartz定時執(zhí)行任務(wù),并配置web.xml的操作方法
下面小編就為大家?guī)硪黄猶uartz定時執(zhí)行任務(wù),并配置web.xml的操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07Spring?Boot自定義?Starter并推送到遠端公服的詳細代碼
這篇文章主要介紹了Spring?Boot自定義?Starter并推送到遠端公服,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09