ibatis学习的小实例
来源:互联网 发布:php cms使用 编辑:程序博客网 时间:2024/05/15 08:34
2.配置文件(SqlMapConfig.xml文件)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<property name="JDBC.ConnectionURL" value="jdbc:microsoft:sqlserver://168.168.28.247:1433;SelectMethod=Cursor;DatabaseName=TestYu" />
<property name="JDBC.Username" value="sa" />
<property name="JDBC.Password" value="888888" />
<property name="Pool.MaximumActiveConnections" value="100" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from t_user" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<sqlMap resource="com/yuqiang/sample/User.xml" />
</sqlMapConfig>
3.表中字段的POJO
package com.yuqiang.pojo;
import java.io.Serializable;
public class User implements Serializable{
private Integer id;
private String name;
private Integer sex;
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 getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
}
4.操作数据库的配置文件
<?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 namespace="User">
<typeAlias alias="user" type="com.yuqiang.pojo.User"/>
<select id="getUser" parameterClass="java.lang.String" resultClass="user">
select name,sex
from t_user
where name=#name#
</select>
<update id="updateUser" parameterClass="user">
update t_user
set name=#name#,
sex=#sex#
where id=#id#
</update>
<insert id="insertUser" parameterClass="user">
insert into t_user(id,name,sex)
values(#id#,#name#,#sex#)
</insert>
<delete id="delUser" parameterClass="java.lang.String">
delete
from t_user
where id=#t_user#
</delete>
</sqlMap>
5.测试文件:
package com.yuqiang.test;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import com.yuqiang.pojo.User;
public class Test {
public static SqlMapClient sqlMapper;
public static void main(String[] args) throws SQLException {
Reader reader;
try {
reader = Resources.getResourceAsReader("com/yuqiang/sqlmap/SqlMapConfig.xml");
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
try {
sqlMapper.startTransaction();
User user=new User();
user.setId(new Integer(2));
user.setName("xiaoyu");
user.setSex(new Integer(1));
sqlMapper.update("updateUser", user);
sqlMapper.commitTransaction();
} catch (SQLException e) {
e.printStackTrace();
} finally {
sqlMapper.endTransaction();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
}
}
}
总结,上面是一个小小的ibatis的实际例子,但是还是有点不完善的地方,我就将我学习的总结上面
1.项目工程很大的话不可能经常去new 对象
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;
//基类,所有的DAO须继承此方法
public class DAO {
public static SqlMapClient sqlMapper;
static {
try {
Reader reader = Resources.getResourceAsReader("com/yuqiang/sqlmap/SqlMapConfig.xml");
sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
} catch (IOException e) {
System.out.println("Something bad happened while building the SqlMapClient instance." + e);
}
}
//传给它一个方法ID和sql语句值可执行此SQL语句
public List getSQLResult (String methodID,String sql) throws SQLException {
return sqlMapper.queryForList(methodID,sql);
}
}
2.配置多个操作数据库文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
<property name="JDBC.ConnectionURL" value="jdbc:microsoft:sqlserver://168.168.28.247:1433;SelectMethod=Cursor;DatabaseName=TestYu" />
<property name="JDBC.Username" value="sa" />
<property name="JDBC.Password" value="888888" />
<property name="Pool.MaximumActiveConnections" value="100" />
<property name="Pool.MaximumIdleConnections" value="5" />
<property name="Pool.MaximumCheckoutTime" value="120000" />
<property name="Pool.TimeToWait" value="500" />
<property name="Pool.PingQuery" value="select 1 from t_user" />
<property name="Pool.PingEnabled" value="false" />
<property name="Pool.PingConnectionsOlderThan" value="1" />
<property name="Pool.PingConnectionsNotUsedFor" value="1" />
</dataSource>
</transactionManager>
<sqlMap resource="com/yuqiang/sample/User1.xml" />
<sqlMap resource="com/yuqiang/sample/User2.xml" />
<sqlMap resource="com/yuqiang/sample/User3.xml" />(配置了多个操作数据库的文件)
</sqlMapConfig>
- ibatis学习的小实例
- ibatis学习笔记(四)>>>>>>>ibatis使用实例
- ibatis学习笔记(四)>>>>>>>ibatis使用实例
- Spring和Ibatis的实例
- ibatis的几个小问题
- ibatis的一些小知识
- ibatis学习笔记(五)>>>>>>>ibatis和Spring整合实例
- ibatis知识的学习
- ibatis的selectKey学习
- 学习Ajax的简单联动小实例
- 学习Ajax的简单联动小实例
- 学习struts2的第一个小实例
- ibatis学习---ibatis与spring的整合
- ibatIS学习笔记---Ibatis的基本使用方法
- ibatis(学习2)-- spring + ibatis的事务管理
- ibatis实例
- ibatis的使用以及实例源码开放
- iBATIS实例创建的五大步浅析
- C#画统计图(ZedGraph)
- zju1149
- 利用辅助线程更新用户界面UI
- [文档] Memcache 原理简介
- SQL处理 varchar超过8000
- ibatis学习的小实例
- 汇编程序在屏幕显示字符
- 移动老总在厕所的奇遇!!
- 我的学习日志10.26
- 找工作(一)
- 通过串口收发短消息(上)
- 通过串口收发短消息(下)
- 写给WEB2.0的站长 不仅仅是泼冷水(转)
- 多线程概述