亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Spring JDBCTemplate原理及使用實例

瀏覽:24日期:2023-09-13 13:54:40

一:JDBCTemplate簡介

Spring為各種持久化技術(shù)提供了簡單操作的模板和回調(diào)API:

ORM持久化技術(shù) 模板類 原生JDBC org.springframework.jdbc.core.JdbcTemplate Hibernate5.0 org.springframework.orm.hibernate5.HibernateTemplate IBatis(MyBatis) org.springframework.orm.ibatis.SqlMapClientTemplate JPA org.springfrmaework.orm.jpa.JpaTemplate

其中,對于原生的JDBC編程,Spring提供了JDBCTemplate,對jdbc操作進行了一系列封裝,使得jdbc編程更加簡單。

二:引入jar包或添加依賴

Spring JDBCTemplate原理及使用實例

數(shù)據(jù)庫驅(qū)動包則按需引入。

三:創(chuàng)建數(shù)據(jù)庫連接配置文件

jdbc.user=root jdbc.password=123456 jdbc.driverClass=com.mysql.jdbc.Driver jdbc.jdbcUrl=jdbc:......

四:Spring托管

在Spring配置文件中,注入dataSource,從配置文件中獲取內(nèi)容進行bean的初始化。

<context:property-placeholder location='classpath:db.properties'/> //指定數(shù)據(jù)庫連接配置文件<bean class='com.mchange.v2.c3p0.ComboPooledDataSource'> //托管dataSource bean <property name='user' value='${jdbc.user}'></property> //獲取配置文件內(nèi)容對dataSource進行初始化 <property name='password' value='${jdbc.password}'></property> <property name='driverClass' value='${jdbc.driverClass}'></property> <property name='jdbcUrl' value='${jdbc.jdbcUrl}'></property></bean><bean class='org.springframework.jdbc.core.JdbcTemplate'> //托管jdbcTemplate,引用dataSource <property name='dataSource' ref='dataSource'></property></bean>

五:在代碼中使用

1:通過Spring配置文件啟動IOC容器

//啟動IoC容器ApplicationContext ctx=new ClassPathXmlApplicationContext('applicationContext.xml');

2:在IOC容器獲取jdbcTemplate實例

//獲取IoC容器中JdbcTemplate實例JdbcTemplate jdbcTemplate=(JdbcTemplate) ctx.getBean('jdbcTemplate');

3:使用jdbcTemplate調(diào)用方法執(zhí)行數(shù)據(jù)庫操作

JdbcTemplate主要提供以下五大方法:

execute方法:可以用于執(zhí)行任何SQL語句。

update方法及batchUpdate方法:update方法用于執(zhí)行新增、修改、刪除等語句;batchUpdate方法用于執(zhí)行批處理相關(guān)語句;

query方法及queryForXXX方法:用于執(zhí)行查詢相關(guān)語句;

call方法:用于執(zhí)行存儲過程、函數(shù)相關(guān)語句。

3.1)通過 update 進行插入

String sql='insert into user (name,deptid) values (?,?)';int count= jdbcTemplate.update(sql, new Object[]{'caoyc',3});

3.2)通過 update 進行修改

String sql='update user set name=?,deptid=? where id=?';jdbcTemplate.update(sql,new Object[]{'zhh',5,51});

3.3)通過 update 進行刪除

String sql='delete from user where id=?';jdbcTemplate.update(sql,51);

3.4)批量插入、修改、刪除

String sql='insert into user (name,deptid) values (?,?)';List<Object[]> batchArgs=new ArrayList<Object[]>();batchArgs.add(new Object[]{'caoyc',6});batchArgs.add(new Object[]{'zhh',8});batchArgs.add(new Object[]{'cjx',8});jdbcTemplate.batchUpdate(sql, batchArgs);

六:在DAO層使用

數(shù)據(jù)庫操作一般結(jié)合ORM進行使用。

1:首先定義實體類

package com.proc;public class User { private Integer id; private String name; private Integer deptid; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getDeptid() { return deptid; } public void setDeptid(Integer deptid) { this.deptid = deptid; } public String toString() { return 'User [id=' + id + ', name=' + name + ', deptid=' + deptid + ']'; }}

2:然后定義該實體類的DAO類

package com.proc;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;import org.springframework.stereotype.Repository;@Repositorypublic class UserDao { @Autowired private JdbcTemplate jdbcTemplate; public User get(int id){ String sql='select id,name,deptid from user where id=?'; RowMapper<User> rowMapper=new BeanPropertyRowMapper<User>(User.class); return jdbcTemplate.queryForObject(sql, rowMapper,id); }}

在DAO類中,定義對應(yīng)實體實例的增刪查改操作方法,在方法體中,使用jdbcTemplate。

3:在service層,通過dao實例調(diào)用方法,執(zhí)行數(shù)據(jù)操作。

UserDao userDao=(UserDao) ctx.getBean('userDao');System.out.println(userDao.get(53));

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 看毛片网 | 在线精品欧美日韩 | 国产一区日韩二区欧美三区 | 91日本在线精品高清观看 | 精品国产午夜久久久久九九 | 亚洲女同视频 | 国产日韩不卡免费精品视频 | 成人亚洲国产精品久久 | 久久视热这只是精品222 | 看黄色一级毛片 | 亚洲国产精品毛片∧v卡在线 | 亚洲色图综合网 | 亚洲视频免费在线播放 | 青青热久久国产久精品秒播 | 国产福利足控交在线观看 | 国内精品免费视频 | 中文字幕亚洲一区二区v@在线 | 国产一级淫片a视频免费观看 | 全黄一级裸片视频免费区 | 在线永久免费观看的a站视频 | 国产第一页无线好源 | 农村寡妇一级毛片免费播放 | 全免费a级毛片免费看不卡 全免费a级毛片免费看视频免 | 国产1区2区3区在线观看 | 农村寡妇一级毛片免费看视频 | 欧美一区精品二区三区 | 欧美夜夜精品一级爽 | www日韩中文字幕在线看 | 小明永久免费视频 | 欧美午夜一艳片欧美精品 | 日本xxxx色视频在线观看 | 免费黄网址 | 成人老司机深夜福利久久 | 国产精品123区 | 亚洲精品一区二区久久 | 国产精品91在线 | 国产女人成人精品视频 | 成人免费福利视频 | 精品国产一区二区二三区在线观看 | 五月天婷婷视频 | 精品国产免费观看一区高清 |