首先去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文档,相当详细还是中文的。