亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring?JDBC配置與使用的實(shí)現(xiàn)

 更新時(shí)間:2025年06月24日 08:29:16   作者:越來(lái)越無(wú)動(dòng)于衷  
本文主要介紹了Spring?JDBC配置與使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Spring JDBC 框架負(fù)責(zé)所有的低層細(xì)節(jié),從開(kāi)始打開(kāi)連接,準(zhǔn)備和執(zhí)行 SQL 語(yǔ)句,處理異常,處理事務(wù),到最后關(guān)閉連接。大大簡(jiǎn)化了開(kāi)發(fā)人員對(duì)數(shù)據(jù)庫(kù)的操作,使得開(kāi)發(fā)人員可以從繁瑣的數(shù)據(jù)庫(kù)操作中解脫出來(lái),從而將更多的精力投入到編寫(xiě)業(yè)務(wù)邏輯中。
Spring框架提供了JdbcTemplate類(lèi),該類(lèi)是Spring框架數(shù)據(jù)抽象層的基礎(chǔ)這是管理所有數(shù)據(jù)庫(kù)通信和異常處理的中央框架類(lèi)。

JdbcTemplate

是spring框架中提供的一個(gè)對(duì)象,是對(duì)原始繁瑣的Jdbc API對(duì)象的簡(jiǎn)單封裝。spring框架為我們提供了很多的操作模板類(lèi)。
JdbcTemplate雖然簡(jiǎn)單,功能卻非常強(qiáng)大。它提供了非常豐富、實(shí)用的方法,歸納起來(lái)主要有以下幾種類(lèi)型的方法:

  • execute方法:可以用于執(zhí)行任何SQL語(yǔ)句,一般用于執(zhí)行DDL語(yǔ)句。
  • update、batchUpdate方法:用于執(zhí)行新增、修改與刪除等語(yǔ)句。
  • query和queryForXXX方法:用于執(zhí)行查詢(xún)相關(guān)的語(yǔ)句。
  • call方法:用于執(zhí)行數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程和函數(shù)相關(guān)的語(yǔ)句。

總的來(lái)說(shuō),新增、刪除與修改三種類(lèi)型的操作主要使用update和batchUpdate方法來(lái)完成query和queryForObject方法中主要用來(lái)完成查詢(xún)功能。execute方法可以用來(lái)執(zhí)行任意的SQL、call方法來(lái)調(diào)用存儲(chǔ)過(guò)程,

 Spring JDBC 示例

一、數(shù)據(jù)庫(kù)表

create database mybatis_demo; 

use mybatis_demo;

CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(32) NOT NULL COMMENT '用戶(hù)名稱(chēng)',
`birthday` datetime default NULL COMMENT '生日',
`sex` char(1) default NULL COMMENT '性別',
`address` varchar(256) default NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into `user`(`id`,`username`,`birthday`,`sex`,`address`) values (1,'老王','2018-02-27
17:47:08','男','北京'),(2,'熊大','2018-03-02 15:09:37','女','上海'),(3,'熊二','2018-03-04
11:34:34','女','深圳'),(4,'光頭強(qiáng)','2018-03-04 12:04:06','男','廣州');

二、添加依賴(lài)

pom.xml中加入Spring 和mysql相關(guān)的包

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
  </dependency>

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-beans</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-expression</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>

  <dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.20</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aop</artifactId>
    <version>5.2.7.RELEASE</version>
  </dependency>
</dependencies>

三、創(chuàng)建實(shí)體類(lèi)

public class User {
    private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;
    //get  set方法
    
 }

四、在Spring.xml當(dāng)中配置數(shù)據(jù)庫(kù)的鏈接和idbcTemplate

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">



    <!--配置連接DriverManagerDataSource -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo"/>
        <property name="username" value="root"/>
        <property name="password" value="2020"/>
    </bean>

    <!-- 配置jdbcTemplate -->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource"  ref="dataSource"></property>
    </bean>
</beans>

 五、創(chuàng)建類(lèi)實(shí)現(xiàn)增刪改查操作

import com.qcby.entity.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;

import java.util.List;

public class SpringTest {
    ApplicationContext ctx=new ClassPathXmlApplicationContext("Application.xml");;
    JdbcTemplate jdbcTemplate= (JdbcTemplate) ctx.getBean("jdbcTemplate");

    @Test
    public void testInsert(){
        String sql="insert into user(username,address) values('李連杰','上海')";
        jdbcTemplate.execute(sql);
    }

    @Test
    public void testUpdate(){
        String sql="update user set username='穩(wěn)杰',address='南海' where id=?";
        int res=jdbcTemplate.update(sql,2);
        System.out.println(res);
    }

    @Test
    public void testDelete(){
        String sql="delete from user where id=?";
        int res=jdbcTemplate.update(sql,18);
        System.out.println(res);
    }

    //查詢(xún)列表
    @Test
    public void testQueryList(){
        String sql = "select * from user where address like '%京%'";
        List<User> userList= (List<User>) jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(User.class));
        System.out.println("查詢(xún)List: ");
        for (User user : userList) {
            System.out.println(user);
        }
        System.out.println("數(shù)量: "+userList.size());
    }
}

結(jié)果:

到此這篇關(guān)于Spring JDBC配置與使用的文章就介紹到這了,更多相關(guān)Spring JDBC配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴(lài)jar包)

    Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴(lài)jar包)

    這篇文章主要介紹了Maven如何構(gòu)建可執(zhí)行的jar包(包含依賴(lài)jar包) ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析

    Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析

    這篇文章主要介紹了Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java?Maven?Settings配置參考教程

    Java?Maven?Settings配置參考教程

    這篇文章主要介紹了Java?Maven?Settings配置參考,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • idea如何配置springboot熱部署

    idea如何配置springboot熱部署

    這篇文章主要介紹了idea如何配置springboot熱部署問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 兩個(gè)小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作

    兩個(gè)小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作

    這篇文章主要介紹了兩個(gè)小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • Java中JWT的使用的詳細(xì)教程

    Java中JWT的使用的詳細(xì)教程

    JWT的本質(zhì)就是一個(gè)字符串,它是將用戶(hù)信息保存到一個(gè)Json字符串中,然后進(jìn)行編碼后得到一個(gè)JWT token,并且這個(gè)JWT token帶有簽名信息,接收后可以校驗(yàn)是否被篡改,所以可以用于在各方之間安全地將信息作為Json對(duì)象傳輸,本文介紹了Java中JWT的使用,需要的朋友可以參考下
    2023-02-02
  • 解決啟用 Spring-Cloud-OpenFeign 配置可刷新項(xiàng)目無(wú)法啟動(dòng)的問(wèn)題

    解決啟用 Spring-Cloud-OpenFeign 配置可刷新項(xiàng)目無(wú)法啟動(dòng)的問(wèn)題

    這篇文章主要介紹了解決啟用 Spring-Cloud-OpenFeign 配置可刷新項(xiàng)目無(wú)法啟動(dòng)的問(wèn)題,本文重點(diǎn)給大家介紹Spring-Cloud-OpenFeign的原理及問(wèn)題解決方法,需要的朋友可以參考下
    2021-10-10
  • ActiveMQ消息隊(duì)列技術(shù)融合Spring過(guò)程解析

    ActiveMQ消息隊(duì)列技術(shù)融合Spring過(guò)程解析

    這篇文章主要介紹了ActiveMQ消息隊(duì)列技術(shù)融合Spring過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Spring boot項(xiàng)目打包成jar運(yùn)行的二種方法

    Spring boot項(xiàng)目打包成jar運(yùn)行的二種方法

    這篇文章主要給大家介紹了關(guān)于Spring boot項(xiàng)目打包成jar運(yùn)行的二種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • Maven工程pom中如何定義jdk版本

    Maven工程pom中如何定義jdk版本

    這篇文章主要介紹了Maven工程pom中如何定義jdk版本,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評(píng)論