现在的位置: 首页 > 综合 > 正文

mybatis环境搭建

2016年05月27日 ⁄ 综合 ⁄ 共 3178字 ⁄ 字号 评论关闭


什么是mybatis


MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。

MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录.

orm工具的基本思想

无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory  产生 session
3. 在session 中完成对数据的增删改查和事务提交等.
4. 在用完之后关闭session 。
5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。

若果非要比较上面两者的话,我总结的就是hibernate熟悉了开发速度快,省代码。

mybatis效率更快,容易上手。

 

(ps:我在网上学习的教程全 是mysql的教程,我是为了活学活用我就用了orcale)

首先 将 mybatis-3.2.0.jar,ojdbc6.jar 拷贝到 web工程的lib目录.

先介绍基本的文件搭建目录如下图所示

 

先介绍User.java 类,此类是所需要的bean。

代码如下:

package model;
import java.io.Serializable;

public class User implements Serializable {
	private static final long serialVersionUID = 1L;

	private int id;
	private String userName;
	private String userAge;
	private String userAddress;
	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 getUserAge() {
		return userAge;
	}
	public void setUserAge(String userAge) {
		this.userAge = userAge;
	}
	public String getUserAddress() {
		return userAddress;
	}
	public void setUserAddress(String userAddress) {
		this.userAddress = userAddress;
	}
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
	@Override
	public String toString() {
		return "id:"+this.getId()+"|userName:"+this.getUserName()+"|userAge:"+this.getUserAge()+"|userAddress:"+this.getUserAddress();
	}
}

简单的bean,看着代码很多,但是无需多解释。仅仅修改了tostring方法,目的是为了检测。Serializable接口是序列化接口,网络传输必用

之后是UserMapper.java 这个接口、这个仅仅是一个接口!!!此接口的目的是对应接下来要介绍的UserMapper.xml文件。

你只需要在接口中定义号方法,mybatis会帮你去具体实现。

注意:

UserMapper 是一个接口,这个接口里面定义的方法的名字(name)和UserMapper.xml里面的mapper 标签中的 id一样。

UserMapper接口里面方法返回类型要和UserMapper.xml里mapper标签中resultSetMap是一个类型.

UserMapper这个接口的作用就是要你写一个Java类 类对应你的xml文件.方便调用.

下面是代码

 

package dao;

import model.User;

public interface  UserMapper {
	public User getUserById(int id); 
}

下面是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="getUserById" parameterType="int" resultType="User">
        select * from User01 where id = #{id}
    </select>
</mapper>

对应关系之前我也说了。

还有就是

<mapper namespace=”” />,主要是跟他有关的三个地方,
第一个是Configuration.xml的mappers属性
第二个mapper接口如UserMapper 的接口路径
第三个是DAO程序中的session.getConfiguration().addMapper(UserMapper.class)

 

第三个是在执行时候会用到的一个语句,你可以先记下来。之后回头在看。

号到了布置追后一个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>
	<typeAliases>
		<!-- simple alias for full class name -->
		<typeAlias alias="User" type="model.User"/>
	</typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
                <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
                <property name="username" value="system"/>
                <property name="password" value="zhou123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="dao/UserMapper.xml"/>
    </mappers>
</configuration>

 

typeAlias 属性是给model起别名,

environments 标签是配置数据库的基本信息、

maopers  是加载之前的对应Mapper.xml文件 、

 

这样基本的数据库配置就完成了

 
 

 

 

 

 

 



 

抱歉!评论已关闭.