MyBatis环境搭建

1.下载需要的jar文件

 MyBatis的官方网站https://blog.mybatis.org/,可以下载到最新的Release版本的MyBatis,其他的Release版本的MYBatis的jar文件;

2.部署jar文件

具体操作步骤如下.
(1)将下载后的mybatis-3.2.2.jar,MySQL-connector-java-5.1.0-bin.jar(MySQL数据驱动jar文件)以及log4j-1.2.17.jar(负责日志输出的jar文件)复制到建好的WEB-INF下的lib目录中;
(2)在lib文件夹选择需要导入的架包,单机右键选择"Build Path">"Add Build Path"添加架包;

3.创建MyBatis的核心配置文件configuration.xml

MyBatis核心配置文件主要用于配置数据库连接和MyBatis运行时所需的各种特性,包含了设置和影响MyBatis行为的属性.
为了方便管理以后各框架集成所需的配置文件,故需在项目工程下新建Source Folder类型的resource目录,并在次目下添加MyBatis的核心配置文件,默认文件名为”configuration.xml”.但需要注意的是,为了方便在框架集成时更好区分各个配置文件,我们一般将其命名为”MyBatis-config.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>
	<!-- 引入database.properties文件 -->
	<properties resource="database.properties"/>
	<!-- 配置mybatis的log为LOG4J -->
	<settings>
		<setting name="logImpl" value="LOG4J" />
		<setting name="autoMappingBehavior" value="NONE"/>
	</settings>
	<typeAliases>
		<package name="cn.smbms.pojo"/>
	</typeAliases>
	<!-- 配置mybatis多套运行环境 -->
	<environments default="development">
		<environment id="development">
			<!-- 配置事务管理,采用JDBC的事务管理 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- POOLED:mybatis自带的数据源,JNDI:基于Tomcat的数据源 -->
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}"/>
				<property name="username" value="${user}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	<!-- 将mapper文件加入到配置文件中 -->
	<mappers>
		<mapper resource="cn/smbms/service/user/UserMapper.xml"/>
	</mappers>
</configuration>

mybatis-config.xml文件的几个常用元素的作用如下
(1) configuration:配置文件的根元素节点
(2) properties:通过resource属性从外部指定的properties属性文件(database.properties),该属性文件描述数据库连接的相关配置(数据库驱动,连接数据库的url,数据库用户名,数据库密码),位置也是在/resource目录下;
(3) setting:设置MyBatis运行中的一些行为,比如此处设置MyBatis的log日志实现为log4j实现日志功能
(4) environments:配置MyBatis的多套运行环境,将SQL映射到多个不同的数据库上,该元素节点下可以配置多个environment子元素节点,但是必须指定其中一个默认运行环境(通过default指定);
(5) environment:配置MyBatis的一套运行环境,需指定运行环境ID,事务管理,数据源配置等相关信息.
(6) Mappers:作用是告诉MyBatis去哪里找到SQL映射文件;
(7) Mapper:mappers的子元素节点,具体指定SQL映射文件的路径,其中resource属性的值表述了SQL映射文件的路径(类资源路径).
必须注意的是,mybatis-confi.xml文件的元素节点是有一定顺序的,节点位置若不按顺序排位,那么XML文件会报错;

4.创建持久化类(POJO)和SQL映射文件

public class User {
	private Integer id; //id 
	private String userCode; //用户编码
	private String userName; //用户名称
	private String userPassword; //用户密码
	private Integer gender;  //性别
	private Date birthday;  //出生日期
	private String phone;   //电话
	private String address; //地址
	private Integer userRole;    //用户角色
	private Integer createdBy;   //创建者
	private Date creationDate; //创建时间
	private Integer modifyBy;     //更新者
	private Date modifyDate;   //更新时间
	
	private Integer age;//年龄
	
	private String userRoleName;    //用户角色名称
	
	
	//省略get和set方法
}

接下来,继续进行SQL映射文件的创建,完成POJO(实体类)的映射,该文件也是一个xml文件,命名为UserMapper.xml如下代码所示.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "mybatis-3-mapper.dtd" >
<mapper namespace="cn.smbms.dao.user.UserMapper">
<select id="getUserList" resultMap="userList">
		SELECT u.*,roleName FROM smbms_user u,smbms_role r WHERE u.userrole=r.id
		<if test="userRole!=null">
			and u.userRole=#{userRole}
		</if>
		<if test="userName!=null and userName!=''">
			and u.userName like CONCAT('%',#{userName},'%')
		</if>
		order by creationDate DESC LIMIT #{from},#{pageSize}
	</select>
	<select id="getUserListByMap" resultType="User" parameterType="Map">
		select * from smbms_user
		 where userName like  CONCAT('%',#{uName},'%')
		 	and userRole=#{uRole}
	</select>
	<!-- 登陆 -->
	<select id="login" resultType="User">
		
	</select>
</mapper>

SQL映射文件一般用于相应的POJO,所以一般都是采用与相应的POJO的名称+Mapper的规则来命名.当然mapper也属于dao层的操作,应该放置在dao包下,并根据业务功能进行分包配置,如cn.smbms.dao.Usermapper.xml

上面的UserMapper.xml定义了SQL语句,其中各元素的含义如下.
Mapper:映射文件的根元素节点,只有一个属性namespace;
Namespace:用于区分不同的mapper,全局唯一.
Select,表示查询语句,是MyBatis最常用的元素之一,常用的属性如下;
Id属性:该命名空间下唯一标识符
ResultType:表示SQL语句返回值类型,此处通过SQL语句返回的是int数据类型;

5.创建测试类

在工程中加入Jinit4,创建测试类,进行功能测试,并在后台打印出用户表的记录数,具体实现步骤如下:

(1)读取全局配置文件:mybatis-config.xml如下代码所示;

InputStream is =Resources.getResourceAsStream("configuration.xml");

(2)创建SqlSessionFactory对象,此对象可以完成对配置文件的读取,如下代码:

    SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(is);

(3)创建SqlSession对象,此对象的作用是调用mapper文件进行数据操作,需要注意的是必须先把mapper文件引入到mybatis-config.xml中才能生效,如以下代码所示:

int count =0 ;
SqlSession sqlSession=null;
sqlSession=factory.openSession();
//mybatis通过mapper文件的namespace的子元素和id来找到相应的SQL,从而进行查询操作
count=sqlSession.selectOne("cn.smbms.dao.user.UserMapper.count");
logger.debug("UserMapperTest count-->"+count);

(4)关闭SqlSession对象,如下代码所示:

sqlSession.close()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值