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

 在具体做这个实战教程前,首先要对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"/>
				<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


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




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值