ibatis學習記錄--001
本執行個體是javaweb項目,使用的是mysql資料庫;所需jar包:ibatis-2.3.0.677.jar;mysql-connector-java-5.1.7-bin.jar;
1.基本java環境搭好後,eclipse建立javaweb項目;導入上述兩jar包;
2.建立實體類:com.lxt.entity.i_user;
package com.lxt.ibatis.entity;
public class i_user {
private integer i_u_id;
private string i_u_name;
private string
i_u_pwd;
public i_user() {
super();
}
public i_user(string
i_u_name, string i_u_pwd) {
this.i_u_name =
i_u_name;
this.i_u_pwd = i_u_pwd;
public i_user(integer i_u_id,
string i_u_name, string i_u_pwd) {
this.i_u_id =
i_u_id;
this.i_u_name = i_u_name;
this.i_u_pwd =
public integer geti_u_id() {
return
public void seti_u_id(integer i_u_id) {
public string geti_u_name() {
public void seti_u_name(string i_u_name)
{
public string geti_u_pwd()
return i_u_pwd;
public void seti_u_pwd(string i_u_pwd)
@override
public string tostring()
return "i_user [i_u_id=" + i_u_id + ", i_u_name=" + i_u_name
+ ",
i_u_pwd=" + i_u_pwd + "]";
3.配置實體類檔案i_user.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
alias="i_user" type="com.lxt.ibatis.entity.i_user" />
<!--
這樣以後改了sql,就不需要去改java代碼了 -->
id表示select裡的sql語句,resultclass表示傳回結果的類型 -->
<select
id="selectallstudent" resultclass="i_user">
select *
from
i_user
</select>
</sqlmap>
4.編寫配置檔案sqlmap.properties,sqlmapconfig.xml
sqlmap.properties:
driver=com.mysql.jdbc.driver
url=jdbc:mysql://localhost:3306/ibatis
username=root
password=root
sqlmapconfig.xml:
<?xml version="1.0" encoding="utf-8"?>
<!doctype sqlmapconfig
public "-//ibatis.apache.org//dtd sql map config
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlmapconfig>
引用jdbc屬性的配置檔案 -->
<properties
resource="com/lxt/ibatis/config/sqlmap.properties" />
<!-- 使用jdbc的事務管理
-->
<transactionmanager type="jdbc">
<!-- 資料源
<datasource type="simple">
<property name="jdbc.driver"
value="${driver}" />
<property name="jdbc.connectionurl" value="${url}"
/>
<property name="jdbc.username" value="${username}"
<property name="jdbc.password" value="${password}"
</datasource>
</transactionmanager>
這裡可以寫多個實體的映射檔案 -->
<sqlmap resource="com/lxt/ibatis/entity/i_user.xml"
</sqlmapconfig>
4.資料庫裡建立ibatis資料庫和i_user表
5.編寫dao并測試
package com.lxt.ibatis.dao;
import java.io.reader;
import java.sql.sqlexception;
import
java.util.list;
import com.ibatis.common.resources.resources;
com.ibatis.sqlmap.client.sqlmapclient;
com.ibatis.sqlmap.client.sqlmapclientbuilder;
com.lxt.ibatis.entity.i_user;
public class i_userdao {
private static sqlmapclient sqlmapclient = null;
static {
try
reader reader =
resources.getresourceasreader("com/lxt/ibatis/config/sqlmapconfig.xml");
sqlmapclient
= sqlmapclientbuilder.buildsqlmapclient(reader);
reader.close();
catch (exception e) {
// todo: handle
exception
e.printstacktrace();
public
list<i_user> geti_userlist (){
list<i_user> userlist =
null;
try {
userlist =
sqlmapclient.queryforlist("selectallstudent");
} catch (sqlexception e)
// todo auto-generated catch
block
userlist;
public static void main(string args[]){
i_userdao
iud = new i_userdao();
iud.geti_userlist();
for (i_user i_user : userlist)
system.out.println(i_user.tostring());