首页 > 代码库 > My Baits入门(一)mybaits环境搭建

My Baits入门(一)mybaits环境搭建

1)在工程下引入mybatis-3.4.1.jar包,再引入数据库(mysql,mssql..)包.

2)在src下新建一个配置文件conf.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="jdbc.properties"  />   <!-- 配置mybatis运行环境 -->     <environments default="development">        <environment id="development">            <!-- type="JDBC" 代表使用JDBC的提交和回滚来管理事务 -->            <transactionManager type="JDBC" />                        <!-- mybatis提供了3种数据源类型,分别是:POOLED,UNPOOLED,JNDI -->            <!-- POOLED 表示支持JDBC数据源连接池 -->            <!-- UNPOOLED 表示不支持数据源连接池 -->            <!-- JNDI 表示支持外部数据源连接池 -->            <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="userMapper.xml"/>    </mappers>   </configuration>

这里是通过外部配置文件来存储数据库存信息的,所以加入一个jdbc.properties的数据库存信息

driver=com.microsoft.sqlserver.jdbc.SQLServerDriverurl=jdbc:sqlserver://127.0.0.1;databaseName=testusername=sapassword=123456

3)建立一个映射文件 userMapper.xml

<?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="hw.com.ser.IUser">      <!-- 查询全部用户 -->      <select id="queryUsers" resultType="hw.com.pojo.User">          select * from MS_User      </select>      <selectid="queryUserById" resultType="hw.com.pojo.User" parameterType="int">          Select * From Ms_User Where id=#{id}      </select> 
</mapper>

(这里要注意的是,namespace属性,因为,此实例是通过接口映射的方式,所以,namespace属性一点要写成接口的路径)附图:

技术分享

4)建一个映射接口类

技术分享
package hw.com.ser;import java.util.List;import hw.com.pojo.User;public interface IUser {    public List<User>    queryUsers();    public User queryUserById(int id);}
View Code

5)建立一个SqlSessionFactory

package hw.com.util;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Reader;import java.util.Properties;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class SqlSessionFactoryUtil {    private static SqlSessionFactory sqlSessionFactory = null;    private static final Class CLASS_LOCK = SqlSessionFactoryUtil.class;    private SqlSessionFactoryUtil() {            }    public static SqlSessionFactory initSqlSessionFactory() {        String resource = "conf.xml";        InputStream inputStream = null;        try {            inputStream = Resources.getResourceAsStream(resource);                    } catch (IOException e) {            e.printStackTrace();        }        synchronized (CLASS_LOCK) {            if (sqlSessionFactory == null) {                sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);            }        }        return sqlSessionFactory;    }        public static SqlSession openSqlSession(){        if(sqlSessionFactory==null){            initSqlSessionFactory();        }        return sqlSessionFactory.openSession();    }}

6)建一个pojo

package hw.com.pojo;import java.util.Date;public class User {    private String Id;    private String UserName;    private String UserPwd;    private int DeptmentId;    private String UserTrueName;    private String Email;    private int LearnCenterId;    private Date CreateDate;    private Date LastModifyDate;    private int UserStatus;    public User() {        super();        // TODO Auto-generated constructor stub    }    public String getId() {        return Id;    }    public void setId(String id) {        Id = id;    }    public String getUserName() {        return UserName;    }    public void setUserName(String userName) {        UserName = userName;    }    public String getUserPwd() {        return UserPwd;    }    public void setUserPwd(String userPwd) {        UserPwd = userPwd;    }    public int getDeptmentId() {        return DeptmentId;    }    public void setDeptmentId(int deptmentId) {        DeptmentId = deptmentId;    }    public String getUserTrueName() {        return UserTrueName;    }    public void setUserTrueName(String userTrueName) {        UserTrueName = userTrueName;    }    public String getEmail() {        return Email;    }    public void setEmail(String email) {        Email = email;    }    public int getLearnCenterId() {        return LearnCenterId;    }    public void setLearnCenterId(int learnCenterId) {        LearnCenterId = learnCenterId;    }    public Date getCreateDate() {        return CreateDate;    }    public void setCreateDate(Date createDate) {        CreateDate = createDate;    }    public Date getLastModifyDate() {        return LastModifyDate;    }    public void setLastModifyDate(Date lastModifyDate) {        LastModifyDate = lastModifyDate;    }    public int getUserStatus() {        return UserStatus;    }    public void setUserStatus(int userStatus) {        UserStatus = userStatus;    }    @Override    public String toString() {        return "User [Id=" + Id + ", UserName=" + UserName + ", UserPwd=" + UserPwd + ", DeptmentId=" + DeptmentId                + ", UserTrueName=" + UserTrueName + ", Email=" + Email + ", LearnCenterId=" + LearnCenterId                + ", CreateDate=" + CreateDate + ", LastModifyDate=" + LastModifyDate + ", UserStatus=" + UserStatus                + "]";    }}

7) 在main方法下做测试

package hw.com.Day1.main;import java.util.List;import org.apache.ibatis.session.SqlSession;import hw.com.pojo.User;import hw.com.ser.IUser;import hw.com.util.SqlSessionFactoryUtil;public class UserTest {    public static void main(String[] args) {                SqlSession sqlSession=null;        try {            sqlSession=SqlSessionFactoryUtil.openSqlSession();            IUser iUser=sqlSession.getMapper(IUser.class);            List<User> users=iUser.queryUsers();            if(users.size()>0){                for (User user : users) {                    System.out.println(user.toString());                }            }        } catch (Exception e) {            e.printStackTrace();        }    }}

 

My Baits入门(一)mybaits环境搭建