共計(jì) 3476 個(gè)字符,預(yù)計(jì)需要花費(fèi) 9 分鐘才能閱讀完成。
本篇文章為大家展示了如何通過(guò) ibatis 操作 mysql,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
步驟如下:
1,在 eclipse 中新建一個(gè)工程 ibatisnew,然后把 mysql 和 ibatis 的 jar 包導(dǎo)入進(jìn)去。這兩個(gè)包 (ibatis-2.3.4.726.jar+mysql-connector-java-5.0.8-bin.jar) 可以從網(wǎng)上, 直接拷貝到 WEB-INF/lib 目錄下。
2,建立 SqlMapConfig.xml 文件
這個(gè)文件包含了的配置,和各個(gè)數(shù)據(jù)表對(duì)應(yīng)的 xml 的引用部分。
文件名:SqlMapConfig.xml
文件內(nèi)容:
?xml version= 1.0 encoding= UTF-8 ?
!DOCTYPE sqlMapConfig
PUBLIC -//ibatis.apache.org//DTD SQL Map Config 2.0//EN
sqlMapConfig
!– Configure a built-in transaction manager. If youre using an
app server, you probably want to use its transaction manager
and a managed datasource —
transactionManager type= JDBC commitRequired= false
dataSource type= SIMPLE
property name= JDBC.Driver value= com..jdbc.Driver /
property name= JDBC.ConnectionURL value= jdbc:mysql://127.0.0.1:3306/db /
property name= JDBC.Username value= root /
property name= JDBC.Password value= /
/dataSource
/transactionManager
!– List the SQL Map XML files. They can be loaded from the
classpath, as they are here (com.domain.data…) —
sqlMap resource= test_ibatis/User.xml /
/sqlMapConfig
3,建立 SqlMapConfig.xml 中引用的 User.xml 文件,
這個(gè)文件對(duì)應(yīng)數(shù)據(jù)庫(kù)中的 user 表,在這個(gè)文件中可以定義別名,可以寫 sql 語(yǔ)句。
文件名:User.xml
文件內(nèi)容:
?xml version= 1.0 encoding= UTF-8 ?
!DOCTYPE sqlMap
PUBLIC -//ibatis.apache.org//DTD SQL Map 2.0//EN
sqlMap namespace= User
!– Use type aliases to avoid typing the full classname every time. —
typeAlias alias= User type= test_ibatis.User /
!– Select with no parameters using the result map for Account class. —
select id= selectAllUsers result > select * from user
/select
/sqlMap
4,建立 user.xml 文件中指定的 class 的文件
這個(gè)文件就是一個(gè) javabean,和數(shù)據(jù)庫(kù)的表的字段相對(duì)應(yīng),有 set 和 get 方法。
文件名;User.java
文件內(nèi)容:
package test_ibatis;
import java.sql.Date;
public class User {
@Override
public String toString() {
// TODO Auto-generated method stub
String str = id = + this.id;
str += name = + this.name;
str += birthday = + this.birthday;
str += money = + this.money;
return str;
}
private int id;
private String name;
private Date birthday;
private float money;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public float getMoney() {
return money;
}
public void setMoney(float money) {
this.money = money;
}
}
5,建立 DAO 程序和實(shí)現(xiàn)程序
接口名:IUserDAO.java
內(nèi)容:
package test_ibatis;
import java.util.List;
public interface IUserDAO {
public List User getAllUser();
}
實(shí)現(xiàn)類:IUserDAOImpl.java
內(nèi)容:
package test_ibatis;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class IUserDAOImpl implements IUserDAO {
private static SqlMapClient client = null;
static {
try {
Reader reader = Resources.getResourceAsReader(test_ibatis/SqlMapConfig.xml
client = SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List User getAllUser() {
// TODO Auto-generated method stub
try {
return client.queryForList(selectAllUsers
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
1,實(shí)現(xiàn)類中要使用 ibatis 提供的功能,先從 xml 文件中讀取配置,構(gòu)造 SqlMapClient 的對(duì)象。
2,具體的實(shí)現(xiàn)方法,通過(guò)調(diào)用 SqlMapClient 提供的方法,指定 xml 中的 id 即可執(zhí)行對(duì)應(yīng)的 sql,并返回結(jié)果。
6,測(cè)試 class
文件名:UserDAO.java
文件內(nèi)容:
package test_ibatis;
public class UserDAO {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
IUserDAO dao = new IUserDAOImpl();
for (User user : dao.getAllUser()) {
System.out.println(user);
}
nbsp
上述內(nèi)容就是如何通過(guò) ibatis 操作 mysql,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道。