日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring+Ibatis集成开发实例

發(fā)布時間:2025/3/14 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring+Ibatis集成开发实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

首先簡歷數(shù)據(jù)庫demo(本文選mysql)

數(shù)據(jù)庫腳本:

?

CREATE?TABLE?`ibatis`?(
??`id`?
varchar(20)?NOT?NULL,
??`name`?
varchar(20)?default?NULL,
??
PRIMARY?KEY??(`id`)
)?ENGINE
=InnoDB?DEFAULT?CHARSET=gb2312;

insert?into?ibatis?values("1","1");
insert?into?ibatis?values("2","2");

?

DAO接口:

?

package?ch10.SpringAndIbatis;

import?java.util.List;

public?interface?IDAO?...{
??
public?List?getList();
??
public?Ibatis?getByName(String?name);
??
public?Ibatis?getById(String?id);
??
public?void?save(Ibatis?ibatis);
??
public?void?delete(String?id);
??
public?void?update(Ibatis?ibatis);
}

?

Ibatis配置文件:

?

<?xml?version="1.0"?encoding="UTF-8"?>?
<!DOCTYPE?sqlMapConfig?
PUBLIC?"-//iBATIS.com//DTD?SQL?Map?Config?2.0//EN"?
"http://www.ibatis.com/dtd/sql-map-config-2.dtd"
>?
<sqlMapConfig>?

<sqlMap?resource="ch10/SpringAndIbatis/Ibatis.xml"?/>?

</sqlMapConfig>

?

ibatis sql map文件ibatis.xml:

?

<?xml?version="1.0"?encoding="UTF-8"??>
<!DOCTYPE?sqlMap?PUBLIC?"-//ibatis.apache.org//DTD?SQL?Map?2.0//EN"?"http://ibatis.apache.org/dtd/sql-map-2.dtd"?>
<sqlMap?>
??
<typeAlias?type="ch10.SpringAndIbatis.Ibatis"?alias="user"/>
??
<resultMap?id="ibatisTest"?class="user"?>
????
<result?column="id"?property="id"?jdbcType="VARCHAR"?/>
????
<result?column="name"?property="name"?jdbcType="VARCHAR"?/>
??
</resultMap>
??
??
<!--?獲得全查詢列表?-->
??
<select?id="getAllUsers"?resultMap="ibatisTest">
????select?*?from?Ibatis
??
</select>
??
???
<!--?依據(jù)username獲得用戶對象?-->
???
<select?id="getUsersByName"?resultMap="ibatisTest">
?????select?*?from?Ibatis?where?name=#value#
??
</select>?
??
??
<!--?依據(jù)id獲得用戶對象?-->
????
<select?id="getUsersById"?resultMap="ibatisTest">
?????select?*?from?Ibatis?where?id=#value#
??
</select>?
??
???
<!--?新增用戶對象?-->
???
<insert?id="insertUsers"?parameterClass="user">
??????insert?into?ibatis?(id,name)?values?(#id#,#name#)
???
</insert>
???
???
<!--?刪除用戶對象?-->
???
<delete?id="deleteUsers">
?????delete?from?ibatis?where?id=#value#
???
</delete>
???
???
<!--?更新用戶對象?-->
???
<delete?id="updateUsers"?parameterClass="user">
??????update?ibatis?set?name=#name#?where?id=#id#
???
</delete>
</sqlMap>

spring配置文件

?

<?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-2.0.xsd">


<bean?id="dataSource"?class="org.apache.commons.dbcp.BasicDataSource">
??
<property?name="driverClassName">
????
<value>com.mysql.jdbc.Driver</value>
??
</property>
??
<property?name="username">
????
<value>root</value>
??
</property>
??
<property?name="password">
????
<value>1234</value>
??
</property>
??
<property?name="url">
????
<value>jdbc:mysql://localhost:3306/spring</value>
??
</property>
</bean>

<bean?id="sqlMapClient"?class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
??
<!--?此處應注入ibatis配置文件,而非sqlMap文件,否則會出現(xiàn)“there?is?no?statement.....異常”?-->
??
<property?name="configLocation">
?????
<value>ch10/SpringAndIbatis/sqlMapConfig.xml</value>
??
</property>

</bean>

<bean?id="testDAO"?class="ch10.SpringAndIbatis.TestDAO">
???
<property?name="dataSource">
???
<ref?bean="dataSource"/>
?
</property>
??
<property?name="sqlMapClient">
????
<ref?bean="sqlMapClient"/>
??
</property>
</bean>

</beans>

DAO實現(xiàn)類:

?

package?ch10.SpringAndIbatis;

import?java.util.List;

import?org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public?class?TestDAO?extends?SqlMapClientDaoSupport?implements?IDAO?...{

????
public?void?delete(String?id)?...{
????????getSqlMapClientTemplate().delete(
"deleteUsers",?id);
????}


????
public?Ibatis?getById(String?id)?...{
????????
return?(Ibatis)getSqlMapClientTemplate().queryForObject("getUsersById",id);
????}


????
public?Ibatis?getByName(String?name)?...{
????????
????????
return?(Ibatis)getSqlMapClientTemplate().queryForObject("getUsersByName",name);
????}


????
public?List?getList()?...{
????????
return?getSqlMapClientTemplate().queryForList("getAllUsers",null);
????}


????
public?void?save(Ibatis?ibatis)?...{
????????getSqlMapClientTemplate().insert(
"insertUsers",ibatis);
????}


????
public?void?update(Ibatis?ibatis)?...{
????????getSqlMapClientTemplate().update(
"updateUsers",?ibatis);
????}


}

domain對象

?

package?ch10.SpringAndIbatis;

public?class?Ibatis?...{
??

private?String?id;
???
private?String?name;
???
public?String?getId()?...{
????????
return?id;
???}

???
public?void?setId(String?id)?...{
????????
this.id?=?id;
???}

???
public?String?getName()?...{
????????
return?name;
???}

???
public?void?setName(String?name)?...{
????????
this.name?=?name;
???}

???
public?Ibatis()...{
???????
???}

public?Ibatis(String?id,?String?name)?...{
????
super();
????
this.id?=?id;
????
this.name?=?name;
}

}

?

?

測試代碼:

?

?

package?ch10.SpringAndIbatis;

import?java.util.ArrayList;
import?java.util.Iterator;
import?java.util.List;

import?org.springframework.context.ApplicationContext;
import?org.springframework.context.support.ClassPathXmlApplicationContext;

public?class?Test?...{

????
/**?*//**
?????*?
@param?args
?????
*/

????
public?static?void?main(String[]?args)?...{
????????ApplicationContext?context
=new?ClassPathXmlApplicationContext("ch10/SpringAndIbatis/applicationContext.xml");
????????TestDAO?testDAOImpl
=(TestDAO)context.getBean("testDAO");

????????
//獲得全查詢列表
????????System.out.println("獲得全查詢列表");
????????List?result
=new?ArrayList();
????????result
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());

????????}
????
????????
???????
//依據(jù)username獲得用戶對象
????????System.out.println("依據(jù)username獲得用戶對象");
????????Ibatis?ibatis
=testDAOImpl.getByName("1");
????????System.out.println(ibatis.getName());
????????
???????
//依據(jù)id獲得用戶對象
????????System.out.println("依據(jù)id獲得用戶對象");
????????Ibatis?ibatis1
=testDAOImpl.getById("1");
????????System.out.println(ibatis.getName());
????????
???????
//新增用戶對象
????????System.out.println("-----------------");
????????System.out.println(
"新增用戶對象前");
????????List?result1
=new?ArrayList();
????????result1
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result1.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());

????????}
????
????????testDAOImpl.save(
new?Ibatis("3","3"));?//新增用戶
????????System.out.println("新增用戶對象后");
????????List?result2
=new?ArrayList();
????????result2
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result2.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());
????????}
????
????????System.out.println(
"-----------------");
????????
????????
//刪除用戶對象
????????System.out.println("-----------------");
????????System.out.println(
"刪除用戶對象前");
????????List?result3
=new?ArrayList();
????????result3
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result3.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());

????????}
????
????????testDAOImpl.delete(
"3");?//刪除用戶
????????System.out.println("刪除用戶對象后");
????????List?result4
=new?ArrayList();
????????result4
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result4.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());
????????}
????
????????System.out.println(
"-----------------");
????????
????????
????????
//更新用戶對象
????????System.out.println("-----------------");
????????System.out.println(
"更新用戶對象前");
????????List?result5
=new?ArrayList();
????????result5
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result5.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());

????????}
????
????????
????????Ibatis?ibatis3
=testDAOImpl.getById("1");
????????ibatis3.setName(
"new1");
????????testDAOImpl.update(ibatis3);
//更新用戶對象
????????
????????
????????System.out.println(
"更新用戶對象后");
????????List?result6
=new?ArrayList();
????????result6
=testDAOImpl.getList();
????????
for?(Iterator?iter?=?result6.iterator();?iter.hasNext();)?...{
????????????Ibatis?element?
=?(Ibatis)?iter.next();
????????????System.out.println(element.getName());
????????}
????
????????System.out.println(
"-----------------");
????????
?????}


}

?

測試結果:

獲得全查詢列表
1
2
依據(jù)username獲得用戶對象
1
依據(jù)id獲得用戶對象
1
-----------------
新增用戶對象前
1
2
新增用戶對象后
1
2
3
-----------------
-----------------
刪除用戶對象前
1
2
3
刪除用戶對象后
1
2
-----------------
-----------------
更新用戶對象前
1
2
更新用戶對象后
new1
2
-----------------

轉載于:https://www.cnblogs.com/gcczhongduan/p/4287490.html

總結

以上是生活随笔為你收集整理的Spring+Ibatis集成开发实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。