首先去myBatis的官网下载jar包,地址:点击打开链接,该地址中还有个MyBatis-3-User-Guide-Simplified-Chinese.pdf的说明文档,建议一起下载。
下载完成后打开eclipse新建项目MyBatis,添加myBatis的jar包和mySQL的jar包,如果你使用的是其他数据库添加其他jar包。
新建User.java
package com.myBatis.bean;
import java.io.Serializable;
import java.sql.Date;
import java.util.Set;
public class User implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private String id;
private String name;
private String pasw;
private String sex;
private String email;
private String degree;
private String hobby;
private Date birthDate;
public String getDegree() {
return degree;
}
public void setDegree(String degree) {
this.degree = degree;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getHobby() {
return hobby;
}
public Date getBirthDate() {
return birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPasw() {
return pasw;
}
public void setPasw(String pasw) {
this.pasw = pasw;
}
}
新建configuration.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>
<!-- 配置数据库资源文件的路径 -->
<properties resource="properties/dataBase.properties"></properties>
<typeAliases>
<!-- 设置typeAlias是为了在User.xml中不用每次写全User类的路径,而是用User代替 -->
<typeAlias type="com.myBatis.bean.User" alias="User" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<!-- 下面配置中value的值必须与dataBase.properties中的名字相对应 -->
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 配置User.xml的路径 -->
<mapper resource="conf/User.xml" />
</mappers>
</configuration>
新建dataBase.properties文件
在这个文件里,你可以配置oracle、sqlServer等等的配置信息,但是要通过名称区分开来,例如mysql.driver、orcl.driver等等,同时,如果跟换数据库时,configuration.xml中的${ }中的名字也要改变。
driver = org.gjt.mm.mysql.Driver
url = jdbc:mysql://localhost:3306/bbs
username = root
password = root
新建User.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"
"http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="User">
<resultMap id="userResultMap" type="User">
<!-- id为主键,并且property的值必须与javaBean中的属性保持一致,column的值与数据库中的值保持一致 -->
<id property="id" column="id" />
<result property="name" column="name" />
<result property="pasw" column="pasw" />
<result property="email" column="email"/>
<result property="birthDate" column="birthDate" />
<result property="sex" column="sex" />
<result property="degree" column="degree"/>
<result property="hobby" column="hobby"/>
</resultMap>
<!-- 在UserDaoTest.java中,通过调用“namespace.select id 来进行查询” -->
<!-- id是这条语句的标识,查询时会通过id来找到这条select语句。结果的类型是User类型,结果的映射在上面已经配置 -->
<select id="selectUser" resultType="User" resultMap="userResultMap">
select * from user order by id;
</select>
</mapper>
新建UserDaoTest.java来测试
package com.myBatis.dao;
import java.io.Reader;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.myBatis.bean.User;
public class UserDaoTest {
public static List<User> getAllUsers() throws SQLException {
List<User> users = new ArrayList<User>();
try {
/*
* 下面的内容在MyBatis-3-User-Guide-Simplified-Chinese.pdf中有详细的解释
*/
String resource = "com/myBatis/data/configuration.xml";//加载配置文件
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(reader);
SqlSession session = factory.openSession();
users = session.selectList("User.selectUser");//配置文件中的namespace.select id
} catch (Exception e) {
e.printStackTrace();
}
return users;
}
public static void main(String[] args) {
List<User> users = new ArrayList<User>();
try {
users = UserDaoTest.getAllUsers();
Iterator<User> iterator = users.iterator();
while (iterator.hasNext()) {
User user = (User) iterator.next();
System.out.println(user.getName());
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
总结:
一共3个配置文件,要注意xml文件中双引号是否是英文状态下输入的,如果对配置文件中的标签有不理解的话可以看pdf文档,相当详细还是中文的。