自慰套教室~女子全员妊娠,精品无码国产自产拍在线观看蜜桃,亚洲国产精品成人精品无码区,久别的草原在线看视频免费

集團站切換校區

驗證碼已發送,請查收短信

復制成功
微信號:togogoi
添加微信好友, 詳細了解課程
已復制成功,如果自動跳轉微信失敗,請前往微信添加好友
打開微信
圖標

學習文章

當前位置:首頁 > >學習文章 > >

【Java技術】SpringBoot整合JDBC

發布時間: 2020-06-28 16:32:00

Java技術培訓】SpringBoot整合JDBC?

一、 JDBC簡介

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


二、 使用JDBC操作數據庫的基本步驟

加載驅動。

建立鏈接

創建數據庫操作對象

發送sql語句

解析sql語句

參數解析

資源回收

通過上面的執行流程使用JDBC來操作數據庫是比較復雜的。

SpringBoot提供了對JDBC封裝的啟動器包,簡化了JDBC的開發流程,


三、 在SpringBoot項目中引入JDBC依賴實現對數據庫的操作

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


# 配置連接數據庫

datasource:

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

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

 username: root

 password: 123456aB3. 編寫與數據庫對應的實體類@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用于查詢單條記錄返回結果

l jdbcTemplate.query用于查詢結果列表

l BeanPropertyRowMapper可以將數據庫字段的值向對象映射,滿足駝峰標識也可以自動映射。@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   //事務管理  當出現異常時,事務回滾,數據不會插入到數據庫中

 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. 編寫單元測試@SpringBootTest

@Slf4j

class SpringbootjdbcApplicationTests {


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


 @Resource

 TbUserService tbUserService;


 @Resource

 DataSource dataSource;


 //獲取數據源

 @Test

 public void getDataSource() throws SQLException {

     log.info("獲取到的數據源是:{}",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);

 }

}

上一篇: 【人工智能】機器學習訓練方法—梯度下降

下一篇: 【Java技術】SpringBoot入門基礎

十五年老品牌
微信咨詢:togogoi 咨詢電話:18922156670 咨詢網站客服:在線客服

相關課程推薦

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>