Mybatis基础学习一

Mybatis,是一个轻量级的ORM产品,比较适合中小型项目,适合我的要求。

Mybatis 所需要的包:
Mybatis3.jar 核心包
ognl.jar Mybatis 使用 ognl 解析XML文件。
javassist.jar , 该文件一般情况下,在WEB容器下都有,只是 APPLICATION下需要另外引入。

其它因为项目而使用的包:
1. JDBC 包。(连接数据库嘛,必须的。)
2. 日志. slf4j 或 log4j等。
我使用的是 slf4j , 日志实现 用logback-core和 logback-classic 2个jar包。

上面,把最基本的编码所需要的东西列了一下。
接下来,需要XML配置文件和java code。

配置文件
1. mybatis的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0 //EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="configs/jdbc.properties"></properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="test/orm/JUserDao.xml"></mapper>
</mappers>
</configuration>


2. logback的日志配置Console输出

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern></encoder>
</appender>
<root level="INFO"><appender-ref ref="STDOUT" /></root>
</configuration>


接下来,就要开始编写代码了。
先是实例化 SqlSessionFactory ,使它成为全局的对象。

private static final Logger log=org.slf4j.LoggerFactory.getLogger(DbFactory.class);
private static SqlSessionFactory factory;
static{
String resource="configs/mybatisconfig.xml";
Reader reader;
try {
reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
factory=builder.build(reader);
} catch (IOException ex) {
log.error("mybatis configuration build error!",ex);
System.exit(1);
}
}

public static SqlSession getSqlSession(){
return factory.openSession();
}



完成SqlSession的获取方法后,就是操作数据库了。
这里的pojo JUser类就省略不贴出来了。

public JUser selectOneUser(String userid){
SqlSession sess=DbFactory.getSqlSession();
JUser ret;
try
{
JUserDao userdao=sess.getMapper(JUserDao.class);
ret=userdao.selectOneUser(userid);
}
finally{
sess.close();
}
return ret;
}

这就是Mybatis的数据库操作的接口文件。通过 SqlSession.getMapper方法可以得到一个实例,这就是Mybatis的作用之一,不需要用户去编写一个实现类。

public interface JUserDao {

public JUser selectOneUser(String userid);

public List<JUserView> selectUsers(String deptid);
}


这里,最主要的就是JUserDao.xml文件了,getMapper的时候,mybatis根据类名的方法名,去找到对应的XML里的语句,再执行,并将结果返回。

<resultMap id="userResultMap" type="test.orm.model.JUser">
<id property="userid" column="user_id" jdbcType="CHAR" />
<result property="username" column="user_name" jdbcType="CHAR"/>
<result property="password" column="password" jdbcType="CHAR"/>
</resultMap>
<select id="selectOneUser" resultMap="userResultMap" parameterType="string" >
select user_id,user_name,password from tb_user
where user_id=#{userid}
</select>



下面是我的所有代码的清单
[img]http://dl2.iteye.com/upload/attachment/0114/6192/c0a03a0d-95c7-3f98-8dfb-de2346ec6375.png[/img]
Mybatis中文手册[url]http://dl2.iteye.com/upload/attachment/0114/6200/fd005f15-bcbd-3251-b94b-f249bddf24a8.pdf[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值