ibatis简单使用

1.创建配置文件,数据库连接xml,实体xml,configuration.xml
configuration.xml文件如下
[code]
<sqlMapConfig>
<properties resource="com/zyt/comm/ibatis/dbconfig.properties"/><!--连接数据库信息-->
<settings
cacheModelsEnabled="true"
errorTracingEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="true"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="${dirver}"/><!--根据dbconfig.properties文件自动匹配-->
<property name="JDBC.ConnectionURL" value="${url}"/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/zyt/comm/ibatis/user.xml"/><!--对象映射实体类-->
</sqlMapConfig>
[/code]
dbconfig.properties文件内容如下
[code]
dirver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/zytcomdb
username=root
password=sa
[/code]
user.xml文件跟Hibernate差不多对象映射文件
[code]
<?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.zyt.test.user.model.Userinfo"/>
<typeAlias alias="Role" type="com.zyt.test.user.model.Role"/>

<resultMap class="User" id="resultUser">
<result property="name" column="name"/>
<result property="password" column="password"/>
<result property="uid" column="uid"/>
<!-- <result property="roleModel" column="role" select="getRoleId"/>-->
<result property="roleModel.roleName" column="roleName"/>
</resultMap>

<resultMap class="Role" id="resultRole">
<result property="id" column="id"/>
<result property="roleName" column="roleName"/>
</resultMap>

<select id="getRoleId" resultMap="resultRole" >
select * from roletype where id=#value#
</select>

<select id="getAll" resultMap="resultUser">
select * from user
</select>

<select id="getList" resultMap="resultUser" parameterClass="User">
select * from user a inner join roletype b on a.role=b.id limit #offset#,#pageSize#
</select>

<select id="userquer" parameterClass="java.lang.String" resultClass="User">
select * from user where name=#name#
</select>

<select id="queryinner" resultClass="User">
select * from user a inner join role b on a.role=b.roleId
</select>

<insert id="insertUser" parameterClass="User">
insert into user (name,password)values(#name#,#password#)
</insert>

<update id="updateUser" parameterClass="User">
update user set name = #name# ,password=#password# where uid=#uid#
</update>

<delete id="deleteUser" parameterClass="java.lang.Integer">
delete from user where uid=#uid#
</delete>
</sqlMap>
[/code]

2.创建IbatisUtil
加载配置文件
[code]
public class IbatisUtil {
private static SqlMapClient sqlMapClient;
private static final String fileName="com/zyt/comm/ibatis/configuration.xml";
static {
try {
Reader reader = Resources.getResourceAsReader(fileName);//读取配置文件信息
sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);//装载流,构造sqlmapclient实例
reader.close();//关闭流
} catch (IOException e) {
e.printStackTrace();
}
}
//返回sqlMapclient
public static SqlMapClient getSqlMapClient(){
return sqlMapClient;
}
}
[/code]
3.在DAO中使用并得到数据
[code]
public Userinfo getUserinfo(String name) throws SQLException{
Userinfo userinfo = (Userinfo)sqlMapClient.queryForObject("User.userquer",name);//注意User.userquer是在user.xml配置的ID,根据这个ID可以得到查询SQL。后面name是参数。
return userinfo;
}
[code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值