這篇文章主要介紹了SpringBoot怎么使用JdbcTemplate操作數(shù)據(jù)庫(kù)的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇SpringBoot怎么使用JdbcTemplate操作數(shù)據(jù)庫(kù)文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)長(zhǎng)期為上千余家客戶(hù)提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為豐臺(tái)企業(yè)提供專(zhuān)業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作,豐臺(tái)網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
JdbcTemplate 是 Spring 提供的一套 JDBC 模版框架,利用 AOP 技術(shù)來(lái)解決直接使用 JDBC 時(shí)大量重復(fù)代碼的問(wèn)題。雖然沒(méi)有 MyBatis 那么靈活,但是比直接使用 JDBC 要方便很多。
一、創(chuàng)建表
CREATE TABLE `t_demo` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(120) NOT NULL, `num` int(11) NOT NULL, `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='demo表';
二、添加依賴(lài)、配置
1、首先編輯 pom.xml 文件,添加相關(guān)依賴(lài)。
org.springframework.boot spring-boot-starter-jdbc MySQL mysql-connector-java com.alibaba druid 1.1.9
2、編寫(xiě)配置
spring.datasource.type = com.alibaba.druid.pool.DruidDataSource spring.datasource.url = jdbc:mysql://localhost:3306/PiaoDB?useUnicode=swater&characterEncoding=UTF-8 spring.datasource.username = root spring.datasource.password = root spring.datasource.driver-class-name = com.mysql.jdbc.Driver
三、編寫(xiě)代碼
1、編寫(xiě)實(shí)體類(lèi)
@Data @Accessors(chain = true) public class Demo { private Integer id; private String name; private Integer num; private Date createTime; }
2、編寫(xiě)Dao代碼
@Repository public class DemoDao { @Autowired private JdbcTemplate jdbcTemplate; // 新增數(shù)據(jù) public int addDemo(Demo demo) { return jdbcTemplate.update("INSERT INTO t_demo(name, num) VALUE (?, ?)", demo.getName(), demo.getNum()); } // 修改數(shù)據(jù) public int updateDemo(Demo demo) { return jdbcTemplate.update("UPDATE t_demo SET name=?, num=? WHERE id=?", demo.getName(), demo.getNum(), demo.getId()); } // 刪除數(shù)據(jù) public int deleteDemoById(Integer id) { return jdbcTemplate.update("DELETE FROM t_demo WHERE id=?", id); } // 獲取單條數(shù)據(jù) public Demo getDemoById(Integer id) { return jdbcTemplate.queryForObject("SELECT * FROM t_demo WHERE id=?", new BeanPropertyRowMapper<>(Demo.class), id); } // 獲取多條數(shù)據(jù) public ListgetAllDemos() { return jdbcTemplate.query("SELECT * FROM t_demo", new BeanPropertyRowMapper<>(Demo.class)); } }
3、編寫(xiě)Controller代碼
@RestController @RequestMapping("/demo") public class DemoController { @Autowired private DemoDao demoDao; @RequestMapping("") public void test(){ // 新增數(shù)據(jù) int num = demoDao.addDemo(new Demo().setName("piao").setNum(20)); System.out.println("插入一條數(shù)據(jù):" + num); // 修改數(shù)據(jù) int num2 = demoDao.updateDemo(new Demo().setId(15).setName("piao").setNum(22)); System.out.println("更新一條數(shù)據(jù):" + num2); // 刪除數(shù)據(jù) int num3 = demoDao.deleteDemoById(13); System.out.println("刪除一條數(shù)據(jù):" + num3); // 查詢(xún)單條數(shù)據(jù) Demo demo = demoDao.getDemoById(15); System.out.println("查詢(xún)1條數(shù)據(jù):" + demo.toString()); // 查詢(xún)多條數(shù)據(jù) Listdemos = demoDao.getAllDemos(); System.out.println("查詢(xún)多條數(shù)據(jù):" + demos); } }
四、驗(yàn)證結(jié)果
關(guān)于“SpringBoot怎么使用JdbcTemplate操作數(shù)據(jù)庫(kù)”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“SpringBoot怎么使用JdbcTemplate操作數(shù)據(jù)庫(kù)”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。