当我使用ibatis的时候,它已经叫mybatis了。
官方网站http://code.google.com/p/mybatis/
首先下载mybatis相关jar包。
使用步骤
1、创建configration.xml,如
<?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>
<typeAliases>
<typeAlias alias="user" type="test.domain.User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="mysql"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="test/domain/user.xml"/>
</mappers>
</configuration>
2、创建对应的表配置文件,user.xml。配置文件加载的时候是按classpath来的。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test.domain.interfaces.UserMapper">
<!--
<select id="getUser" parameterType="java.lang.String" resultType="user">
select * from user where name = #{value}
</select>
<insert id="createUser" parameterType="test.domain.User">
insert into user(name, password) values (#{name}, #{password})
</insert>
-->
</mapper>
本文中加了注释,将在后面解释。
3、创建接口文件UserMapper.java
package test.domain.interfaces;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import test.domain.User;
public interface UserMapper {
@Select("select * from user where name = #{value}")
User getUser(String name);
@Select("select * from user")
List<User> getUsers();
@Insert("insert into user(name, password) values (#{name}, #{password})")
void createUser(User user);
}
这里可以看到使用了标记,效果等同于在user.xml中的设置.
所以步骤2和步骤3中的sql语句只能出现在其中的一个,若同时存在的话,会报错.
4、创建User bean,需要注意的是,bean里面需要有一个默认的无参数的构造函数
5、使用,test
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = null;
try {
factory = builder.build(Resources.getResourceAsReader("configration.xml"));
SqlSession session = factory.openSession();
UserMapper mapper = session.getMapper(UserMapper.class);
mapper.createUser(new User("aa", "bb"));
session.commit();
User user = mapper.getUser("111");
System.out.println(user.toString());
List<User> users = mapper.getUsers();
for(User u : users)
System.out.println(u.toString());
session.close();
} catch (Exception e) {
e.printStackTrace();
}
加载configration文件的方式有多种。