MyBaits 入门之MyBatis环境搭建(第一篇)

MyBatis 简介

MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。

MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录。

下面分步骤给搭建介绍mybatis 环境搭建。

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.SQLServerDriver

url=jdbc:sqlserver://127.0.0.1;databaseName=test

username=sa

password=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);

}

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();

}

}

}

以上是 MyBaits 入门之MyBatis环境搭建(第一篇) 的全部内容, 来源链接: utcz.com/p/211231.html

回到顶部