您的位置:首页 > 编程语言 > Java开发

Mybatis实战教程之一开发环境搭建

2015-01-08 11:15 232 查看
 在具体做这个实战教程前,首先要对mybatis有个基础的认识。

什么是mybatis ?

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

开发环境的搭建

  我搭建的环境,选择:myeclipse8.5,mysql5.0,jdk1.7,mybatis-3.1.1.jar,tomcat6.0,navicat for Mysql。这些软件工具均可以到各自的官方网站上下载。

第一步,创建一个名字为MybatisTest的Web Porject项目。



第二步,添加mybatis-3.1.1.jar和mysql-connector-java-5.1.7.jar到MyBatiTest\WebRoot\WEB-INF\lib目录下面。


    


第三步,在src下创建一个configuration.xml文件。

在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>
<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="gaoli123"/>
</dataSource>
</environment>
</environments>
</configuration>

第四步,测试连接数据库。

1)在src下创建一个util包,在其下面再创建一个MyBatisUtil.java的文件

2)编写测试能否加载配置文件,并实例化的对像的代码

package util;

import java.io.IOException;
import java.io.Reader;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/**
 * 数据库配置类
 * @author gaoli
 * @date 2015-01-08
 */
public class MyBatisUtil {
    private static SqlSessionFactory ssf;
    static {
        try {
            //加载配置文件configuration.xml
            Reader reader = Resources.getResourceAsReader("configuration.xml");
            //实例化SqlSessionFactory对象
            ssf = new SqlSessionFactoryBuilder().build(reader);
            System.out.println(ssf);
        } catch (IOException e) {
            System.out.println("找不到该文件,文件加载失败!");
        }
    }
    public static void main(String[] args) {
        SqlSession session= ssf.openSession();
        System.out.println(session != null);
        
    }
}
3)执行该类,执行结果为:
<pre name="code" class="html">org.apache.ibatis.session.defaults.DefaultSqlSessionFactory@10f35d1
true
这说明已经实例化sqlSessionFactory对象,并且能获取到sqlSession
4)使用Navicat添加user表,并向表中添加一条记录





5)在项目的src下添加entity包,并在其中创建User.java实体类(与表结构相同)

package entity;
/**
* 实体类User,与数据库对应
* @author gaoli
* @date 2015-01-08
*/
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "User [id=" + id + ", password=" + password + ", username="
+ username + "]";
}
}


6)在同目录下,添加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="dao.UserMapper">
<select id="getById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
</mapper>
7)修改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>
<typeAliases>
<typeAlias type="entity.User"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/&g
4000
t;
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="gaoli123"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="dao/UserMapper.xml" />

</mappers>
</configuration>


8)修改MyBatisUtil.java文件代码,在main方法中添加代码:

package util;

import java.io.IOException;
import java.io.Reader;

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 entity.User;
/**
* 数据库配置类
* @author gaoli
* @date 2015-01-08
*/
public class MyBatisUtil {
private static SqlSessionFactory ssf;
static {
try {
//加载配置文件configuration.xml
Reader reader = Resources.getResourceAsReader("configuration.xml");
//实例化SqlSessionFactory对象
ssf = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
System.out.println("找不到该文件,文件加载失败!");
}
}
public static void main(String[] args) {
SqlSession session= ssf.openSession();
try{
User user =(User)session.selectOne("dao.UserMapper.getById",1);
System.out.println("user:"+user.getUsername());
System.out.println("pass:"+user.getPassword());
}finally{
//session开启后,执行完数据库操作,必须关闭。
session.close();
}
}
}
9)测试数据库的连接,看看是否有正确的返回值:
user:Lina
pass:123123


现在运行这个程序,是不是得到查询结果了。恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。

整个工程目录结构如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐