宝贝腿开大点我添添你视频男男,中文字幕熟女人妻av一区二区三区,爱色成人网,大地资源高清播放在线观看在线电影在线观看 ,777米奇影视第四色

集團(tuán)站切換校區(qū)

驗(yàn)證碼已發(fā)送,請(qǐng)查收短信

復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開微信
圖標(biāo)

學(xué)習(xí)文章

當(dāng)前位置:首頁 > >學(xué)習(xí)文章 > >

【Java技術(shù)】SpringBoot整合JDBC

發(fā)布時(shí)間: 2020-06-28 16:32:00

Java技術(shù)培訓(xùn)】SpringBoot整合JDBC?

一、 JDBC簡介

Java數(shù)據(jù)庫連接,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規(guī)范客戶端程序如何來訪問數(shù)據(jù)庫的應(yīng)用程序接口,提供了諸如查詢和更新數(shù)據(jù)庫中數(shù)據(jù)的方法。JDBC也是Sun Microsystems的商標(biāo)。我們通常說的JDBC是面向關(guān)系型數(shù)據(jù)庫的。


二、 使用JDBC操作數(shù)據(jù)庫的基本步驟

加載驅(qū)動(dòng)。

建立鏈接

創(chuàng)建數(shù)據(jù)庫操作對(duì)象

發(fā)送sql語句

解析sql語句

參數(shù)解析

資源回收

通過上面的執(zhí)行流程使用JDBC來操作數(shù)據(jù)庫是比較復(fù)雜的。

SpringBoot提供了對(duì)JDBC封裝的啟動(dòng)器包,簡化了JDBC的開發(fā)流程,


三、 在SpringBoot項(xiàng)目中引入JDBC依賴實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的操作

1. 引入必須的依賴包<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-jdbc</artifactId>

</dependency>

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

</dependency>2. 修改application.yml編寫配置文件server:

port: 9001


spring:

application:

 name: springboot-jdbc


# 配置連接數(shù)據(jù)庫

datasource:

 driver-class-name: com.mysql.cj.jdbc.Driver

 url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC

 username: root

 password: 123456aB3. 編寫與數(shù)據(jù)庫對(duì)應(yīng)的實(shí)體類@Data

public class TbUser {

 private Integer id;

 private String username;

 private String password;

 private String role;

}

4. 編寫dao層

l jdbcTemplate.update適合于insert 、update和delete操作

l jdbcTemplate.queryForObject用于查詢單條記錄返回結(jié)果

l jdbcTemplate.query用于查詢結(jié)果列表

l BeanPropertyRowMapper可以將數(shù)據(jù)庫字段的值向?qū)ο笥成?,滿足駝峰標(biāo)識(shí)也可以自動(dòng)映射。@Repository

public class TbUserDao {


 @Resource

 private JdbcTemplate jdbcTemplate;


 //保存用戶

 public void saveUser(TbUser user){

     jdbcTemplate.update("insert into tb_user(username,password,role) values (?,?,?)",

             user.getUsername(),

             user.getPassword(),

             user.getRole());

 }


 //刪除用戶

 public void deleteUserById(Integer id){

     jdbcTemplate.update("delete from tb_user where id =?",new Object[]{id});

 }


 //更新用戶信息

 public void updateUserById(TbUser tbUser){

     jdbcTemplate.update("update tb_user set username = ?,password = ?,role = ?  where id = ?",

             tbUser.getUsername(),

             tbUser.getPassword(),

             tbUser.getRole(),

             tbUser.getId());

 }


 //id查詢

 public TbUser findUserById(Integer id){

     return (TbUser) jdbcTemplate.queryForObject("select * from tb_user where id = ?", new Object[]{id}, new BeanPropertyRowMapper(TbUser.class));

 }


 //查詢所有

 public List<TbUser> findAll(){

     List<TbUser> tbUserList = jdbcTemplate.query("select * from tb_user", new BeanPropertyRowMapper<>(TbUser.class));

     return tbUserList;

 }

}

5. 編寫service層public interface TbUserService {


 TbUser saveUser(TbUser tbUser);


 void deleteUserById(Integer id);


 void updateUserById(TbUser tbUser);


 TbUser findUserById(Integer id);


 List<TbUser> findAll();

}

6. 編寫serviceImpl@Service

public class TbUserServiceImpl implements TbUserService {


 @Resource

 TbUserDao tbUserDao;


 @Override

 @Transactional   //事務(wù)管理  當(dāng)出現(xiàn)異常時(shí),事務(wù)回滾,數(shù)據(jù)不會(huì)插入到數(shù)據(jù)庫中

 public TbUser saveUser(TbUser tbUser) {

     tbUserDao.saveUser(tbUser);

    //int a = 3/0;

     return tbUser;

 }


 @Override

 public void deleteUserById(Integer id) {

     tbUserDao.deleteUserById(id);

 }


 @Override

 public void updateUserById(TbUser tbUser) {

     tbUserDao.updateUserById(tbUser);

 }


 @Override

 public TbUser findUserById(Integer id) {

     return tbUserDao.findUserById(id);

 }


 @Override

 public List<TbUser> findAll() {

     return tbUserDao.findAll();

 }

}

7. 編寫單元測(cè)試@SpringBootTest

@Slf4j

class SpringbootjdbcApplicationTests {


 private Logger LOGGER = LoggerFactory.getLogger(this.getClass());


 @Resource

 TbUserService tbUserService;


 @Resource

 DataSource dataSource;


 //獲取數(shù)據(jù)源

 @Test

 public void getDataSource() throws SQLException {

     log.info("獲取到的數(shù)據(jù)源是:{}",dataSource);

     Connection con = dataSource.getConnection();

     log.info("獲取到的連接信息是:{}",con);

 }


 @Test

 void contextLoads() {

 }


 @Test

 void  saveUserTest(){

     TbUser tbUser = new TbUser();

     tbUser.setUsername("qtd");

     tbUser.setPassword("23456789");

     tbUser.setRole("Oracle");

     TbUser user = tbUserService.saveUser(tbUser);

     log.info("操作成功,獲取到的信息是:{}",user);

 }


 @Test

 void deleteUserByIdTest(){

     tbUserService.deleteUserById(4);

 }


 @Test

 void updateUserById(){

     TbUser tbUser = new TbUser();

     tbUser.setId(5);

     tbUser.setUsername("qtdu");

     tbUser.setPassword("23456789u");

     tbUser.setRole("Oracleu");

     tbUserService.updateUserById(tbUser);

 }


 @Test

 void  findUserById(){

     TbUser user = tbUserService.findUserById(7);

     log.info("操作成功,獲取到的信息是:{}",user);

 }

}

上一篇: 【人工智能】機(jī)器學(xué)習(xí)訓(xùn)練方法—梯度下降

下一篇: 【Java技術(shù)】SpringBoot入門基礎(chǔ)

十九年老品牌
微信咨詢:gz_togogo 咨詢電話:18127429208 咨詢網(wǎng)站客服:在線客服

相關(guān)課程推薦

在線咨詢 ×

您好,請(qǐng)問有什么可以幫您?我們將竭誠提供最優(yōu)質(zhì)服務(wù)!