日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java Spring5學(xué)習(xí)之JdbcTemplate詳解

瀏覽:293日期:2022-08-13 11:25:38
一、JdbcTemplate

Spring 框架對(duì) JDBC 進(jìn)行封裝,使用 JdbcTemplate 方便實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)操作

二、實(shí)戰(zhàn)2.1 引入依賴

<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.24</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.3.6</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-orm --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>5.3.6</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework/spring-tx --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.3.6</version></dependency>2.2 配置連接池

<!--引入外部屬性文件 --> <context:property-placeholderlocation='classpath:jdbc.properties' /> <!-- 數(shù)據(jù)庫(kù)連接池 --> <bean destroy-method='close'><property name='url' value='${prop.url}' /><property name='username' value='${prop.userName}' /><property name='password' value='${prop.password}' /><property name='driverClassName' value='${prop.driverClass}' /> </bean>2.3 配置JdbcTemplate 對(duì)象,注入 DataSource

<!-- JdbcTemplate 對(duì)象 --> <bean class='org.springframework.jdbc.core.JdbcTemplate'><!--注入 dataSource --><property name='dataSource' ref='dataSource'></property> </bean>2.4 掃描注解

<!-- 開(kāi)啟注解掃描 --> <context:component-scanbase-package='cn.zj.aop.an'></context:component-scan>2.5 創(chuàng)建 service 類,創(chuàng)建 dao 類,在 dao 注入 jdbcTemplate 對(duì)象

@Repositorypublic class UserDaoImpl implements UserDao { //注入 JdbcTemplate @Autowired private JdbcTemplate jdbcTemplate;}@Servicepublic class UserService { // 注入 dao @Autowired private UserDao userDao; }三、操作(CRUD)

實(shí)體類

public class User { private String userId; private String username; private String ustatus; @Override public String toString() {return 'User [userId=' + userId + ', username=' + username + ', ustatus=' + ustatus + ']'; } public String getUserId() {return userId; } public void setUserId(String userId) {this.userId = userId; } public String getUsername() {return username; } public void setUsername(String username) {this.username = username; } public String getUstatus() {return ustatus; } public void setUstatus(String ustatus) {this.ustatus = ustatus; }}3.1 添加

service//添加 public void addUser(User user) {userDao.add(user); } dao@Override public void add(User user) {// 1 創(chuàng)建 sql 語(yǔ)句String sql = 'insert into t_user values(?,?,?)';// 2 調(diào)用方法實(shí)現(xiàn)Object[] args = { user.getUserId(), user.getUsername(), user.getUstatus() };int update = jdbcTemplate.update(sql, args);System.out.println(update); } 測(cè)試@Test public void test1() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);User user = new User();user.setUserId('1');user.setUsername('java');user.setUstatus('a');userService.addUser(user); }

結(jié)果

Java Spring5學(xué)習(xí)之JdbcTemplate詳解

3.2 修改

service//修改 public void updateUser(User user) {userDao.updateUser(user); }dao@Override public void updateUser(User user) {// TODO Auto-generated method stubString sql = 'update t_user set username=?,ustatus=? where userId=?';// 2 調(diào)用方法實(shí)現(xiàn)Object[] args = { user.getUsername(), user.getUstatus() ,user.getUserId()};int update = jdbcTemplate.update(sql, args);System.out.println(update); }測(cè)試@Test public void test2() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);User user = new User();user.setUserId('1');user.setUsername('javaScrip');user.setUstatus('abc');userService.updateUser(user); }

Java Spring5學(xué)習(xí)之JdbcTemplate詳解

3.3 刪除

// 刪除 public void deleteUser(String id) {userDao.deleteUser(id); }@Override public void deleteUser(String id) {String sql='delete from t_user where userId=?';int update=jdbcTemplate.update(sql, id);System.out.println(update); }@Test public void test3() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);userService.deleteUser('1'); }

Java Spring5學(xué)習(xí)之JdbcTemplate詳解

四、查詢4.1 查詢總記錄數(shù) jdbcTemplate.queryForObject

@Test public void test4() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);int count = userService.selectUserCount();System.out.println('數(shù)據(jù)庫(kù)中共有記錄:'+count); }//查詢記錄數(shù) public int selectUserCount() {return userDao.selectCount(); } @Override public int selectCount() {String sql = 'select count(0) from t_user';Integer count = jdbcTemplate.queryForObject(sql, Integer.class);return count; }4.2 查詢返回對(duì)象

@Test public void test5() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);User user=userService.findUserInfo('1');System.out.println(user); }//查詢對(duì)象 public User findUserInfo(String id) {// TODO Auto-generated method stubreturn userDao.findUserInfo(id); }@Override public User findUserInfo(String id) {String sql = 'select userId,username,ustatus from t_user where userId=?';User user = jdbcTemplate.queryForObject(sql, newBeanPropertyRowMapper<User>(User. class),id);return user; }4.3 查詢返回集合

@Test public void test6() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);List<User> list=userService.findAllUser();System.out.println(list); } //查詢返回集合 public List<User> findAllUser(){return userDao.findAllUser(); }@Override public List<User> findAllUser() {String sql = 'select userId,username,ustatus from t_user';List<User> list = jdbcTemplate.query(sql, newBeanPropertyRowMapper<User>(User. class));return list; }五、批量操作 jdbcTemplate.batchUpdate5.1 添加

@Test public void test7() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);List<Object[]> list = new ArrayList<>();Object[] o1 = { '11', '易語(yǔ)言', '中文'};Object[] o2 = { '12', 'c++', 'cc'};Object[] o3 = { '13', 'MySQL', '數(shù)據(jù)庫(kù)'};list.add(o1);list.add(o2);list.add(o3);userService.batchAdd(list); }//批量添加 public void batchAdd(List<Object[]> list){userDao.batchAdd(list); }@Override public void batchAdd(List<Object[]> list) {String sql = 'insert into t_user values(?,?,?)';int[] ints = jdbcTemplate.batchUpdate(sql, list);System.out.println(ints); }5.2 修改

@Test public void test8() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);List<Object[]> list = new ArrayList<>();Object[] o1 = { '易語(yǔ)言易', '中文語(yǔ)言','11'};Object[] o2 = { 'c++c', 'ccccc','12'};Object[] o3 = {'MySQL+ORACle', '數(shù)據(jù)庫(kù)數(shù)據(jù)', '13'};list.add(o1);list.add(o2);list.add(o3);userService.batchUpdate(list); } //批量修改 public void batchUpdate(List<Object[]> list) {userDao.batchUpdate(list); }@Override public void batchUpdate(List<Object[]> list) {String sql = 'update t_user set username=?,ustatus=? where userId=?';int[] ints = jdbcTemplate.batchUpdate(sql, list);System.out.println(ints); }5.3 刪除

@Test public void test9() {ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');UserService userService = context.getBean('userService', UserService.class);List<Object[]> list = new ArrayList<>();Object[] o1 = { '11'};Object[] o2 = { '12'};Object[] o3 = { '13'};list.add(o1);list.add(o2);list.add(o3);userService.batchDelete(list); } //批量刪除 public void batchDelete(List<Object[]> list) {userDao.batchDelete(list); }@Override public void batchDelete(List<Object[]> list) {String sql = 'delete from t_user where userId=?';int[] ints = jdbcTemplate.batchUpdate(sql, list);System.out.println(ints); }

到此這篇關(guān)于Java Spring5學(xué)習(xí)之JdbcTemplate詳解的文章就介紹到這了,更多相關(guān)Java Spring5之JdbcTemplate內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品第一| 精品国产午夜肉伦伦影院| 久久精品免费看| 97精品久久| 久久精品超碰| 国产精品久久久久久久免费软件| 97se亚洲| 国产欧美日韩在线一区二区 | 国产日韩视频在线| 国产欧美在线| 青青国产精品| 国产亚洲电影| 麻豆精品久久久| 精品久久福利| 伊人久久高清| 亚洲一级高清| 蜜臀久久99精品久久久久久9| 自拍自偷一区二区三区| 日韩精品久久理论片| 欧美色综合网| 嫩草伊人久久精品少妇av杨幂| 成人国产精品| 国产99久久| 蜜臀av在线播放一区二区三区| 中文字幕日韩亚洲| 石原莉奈在线亚洲三区| 日韩av午夜在线观看| 老司机免费视频一区二区三区| 中文字幕在线视频久| 激情婷婷综合| 四虎精品永久免费| 久久xxx视频| 久久免费黄色| 蜜桃视频在线观看一区二区| 国产欧美三级| 国产在线|日韩| 日韩影院精彩在线| 国产精品www994| 香蕉成人av| 免费美女久久99| 日韩高清二区| 五月天av在线| 免费黄网站欧美| 欧美激情精品| 欧美1区2区3区| 日韩va欧美va亚洲va久久| 色婷婷综合网| 蜜臀av在线播放一区二区三区 | 国产精品久久久久久久久免费高清| 国产福利片在线观看| 国产精品毛片| 久久影视三级福利片| 精品日韩毛片| 欧美在线看片| 午夜精品久久久久久久久久蜜桃| 亚洲开心激情| 鲁鲁在线中文| 美国三级日本三级久久99| 久久精品国产一区二区| 91精品观看| 欧美成人一二区| 99视频精品| 欧美国产亚洲精品| 在线视频免费在线观看一区二区| 国产乱码精品一区二区三区四区| 日韩高清不卡| 国产精品资源| 亚洲一区二区免费看| 国模精品一区| 欧美+日本+国产+在线a∨观看| 久久国际精品| 欧美在线资源| 精品99久久| 亚洲欧洲av| 欧美精选视频一区二区| 久久精品97| 亚洲激情婷婷| 伊人久久国产| 国产精品亲子伦av一区二区三区 | 久久亚洲欧洲| 国产精品蜜芽在线观看| 三级久久三级久久久| 国产成人精品999在线观看| 综合一区在线| 欧美高清一区| 麻豆mv在线观看| 国产精品17p| 中文字幕免费一区二区| 99视频精品全国免费| 久久精品国产99国产精品| 日韩高清电影免费| 在线精品福利| 美女少妇全过程你懂的久久| 精品女同一区二区三区在线观看| 日韩美女精品| 亚洲欧美激情诱惑| 日本国产精品| 欧美精品二区| 国产精品日本一区二区不卡视频| 亚州欧美在线| 日韩精品一区第一页| 视频一区中文| 欧美日韩一区二区综合| 成人片免费看| 成人三级高清视频在线看| 麻豆中文一区二区| 国产亚洲久久| 日本一区福利在线| 亚洲国产一区二区三区在线播放| 97精品在线| 国产一区二区三区四区| 国产精品第一国产精品| 亚洲人成网77777色在线播放 | 在线 亚洲欧美在线综合一区| 性感美女一区二区在线观看| 精品久久久久中文字幕小说| 国产极品模特精品一二| 欧美欧美黄在线二区| 日韩一区中文| 日韩一二三区在线观看| 日韩二区三区在线观看| 欧美日韩a区| 国产欧美日韩视频在线| **爰片久久毛片| 奇米亚洲欧美| 欧美日韩午夜电影网| 日韩精品视频网| 四虎精品一区二区免费| 亚州欧美在线| 青青在线精品| 国产美女精品视频免费播放软件| 久久狠狠亚洲综合| 久久不见久久见免费视频7| 精品亚洲自拍| 欧美日韩免费看片| 亚洲性视频h| 亚洲专区在线| 免费在线看一区| 日本一区二区三区视频在线看| 日本亚洲视频在线| 日韩国产91| 亚洲精品无播放器在线播放| 四虎精品永久免费| 国产精品magnet| 久久久久久网| 国产一区亚洲| 蜜桃一区二区三区在线| 91av一区| 精品美女在线视频| www成人在线视频| av不卡在线看| 91麻豆精品| 狠狠久久伊人中文字幕| 日本国产精品| 蜜桃视频一区二区三区| 欧美日韩一区二区国产 | 日韩欧美一区二区三区免费看| 日韩视频网站在线观看| 亚洲一区日韩| 欧美日韩亚洲三区| 成午夜精品一区二区三区软件| 久久精品卡一| 爽好多水快深点欧美视频| 91精品日本| 欧美天堂视频| 欧美专区在线| 久久99久久人婷婷精品综合| 久久久777| 亚洲高清影视| 欧美日韩a区| 蜜桃精品在线| 蜜桃av一区二区三区电影| 国产精品片aa在线观看| | 国产欧美久久一区二区三区| 成人台湾亚洲精品一区二区| 欧美丝袜一区| 日韩精品久久久久久久软件91| 91综合视频| 老牛国产精品一区的观看方式| 国产日韩亚洲欧美精品| 电影91久久久| 99在线|亚洲一区二区| 国产精品一区三区在线观看| 久久青草久久| 日韩激情网站| xxxxx性欧美特大| 最新国产精品视频| 久草免费在线视频| 亚洲日产av中文字幕| 日韩影院二区| 日韩和欧美一区二区三区| 日本精品影院| 国产精品自在| 国产亚洲精品v| 老鸭窝一区二区久久精品| 久久蜜桃av| 国产精品亚洲综合色区韩国| 午夜欧美理论片| 精品国产网站|