1.mybatis环境搭建:
下载mybatis的jar包,和相关的jar包。我是通过maven下载的,项目结构如图:
然后把相关的mybatis的jar包下载到Maven的Dependencies中。如下图所示:
2.创建log4j文件,把他放到main/resources下面:
关于log4j文件里面的内容,如下所示:
##开发时候设置为debug,生产时候设置为infolog4j.rootLogger=debug,stdout,logfilelog4j.appender.stdout=org.apache.log4j.ConsoleAppender#log4j.appender.stdout.Target=System.errlog4j.appender.stdout.layout=org.apache.log4j.SimpleLayoutlog4j.appender.logfile=org.apache.log4j.FileAppenderlog4j.appender.logfile.File=jbit.loglog4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%nlog4j.logger.com.ibatis=DEBUGlog4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUGlog4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUGlog4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUGlog4j.logger.java.sql.Connection=DEBUGlog4j.logger.java.sql.Statement=DEBUGlog4j.logger.java.sql.PreparedStatement=DEBUG
然后在resources目录下添加sqlMapconfig.xml(全局配置文件)文件和对应的mapper的配置文件。
3.根据用户id查询用户信息:
3.1配置sqlmapconfig的配置文件的内容:
该文件中在没有与spring整合之前,主要配置mybatis的运行环境、事物和数据源等。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 生命与表对应的基类,否则在User.xml中报错,提示无法找到User这个类 --><typeAliases><typeAlias alias="User" type="zone.pigruno.model.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/mybatis" /><property name="username" value="root" /><property name="password" value="pigruno" /></dataSource></environment></environments><!-- 以下是加载映射文件 --><mappers><mapper resource="sqlmap/User.xml" /></mappers></configuration>
3.2根据用户id查询用户信息
3.2.1映射文件的配置
在映射文件中配置sql语句。映射文件的命名规则就是XxxMapper.xml.如果是user相关的就命名为UserMapper.xml.里面的配置内容如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="User"><select id="findUserById" parameterType="int" resultType="User">select * from user where id=#{id}</select><select id="findUserByName" parameterType="String" resultType="User">select * from user where userName like #{userName}</select><insert id="insertUser" parameterType="user" useGeneratedKeys="true" keyProperty="id">insert into user (userName,password,sex,phone,email,address,birthday) value (#{userName},#{password},#{sex},#{phone},#{email},#{address},#{birthday})</insert></mapper>
namespace为命名空间,目的是对sql进行分类化管理,也是一种sql隔离。例如namespace="User",代表着user相关的sql都放在了一起。
id为sql的id,也是statement的Id。parameterType代表输入类型,resultType代表输出类型。#{id}代表输入的参数名为id。如果输入参数是简单类型,那么{}中的参数名字可以任意。
package zone.pigruno.model;import java.util.Date;/*** @author liuwl:* @version 创建时间:2016年5月15日 下午6:57:35**/public class User {private int userId;private String userName;private String mobilePhone;private String address;private String email;private Short userType;private char sex;private Date birthday;public String getUserName() {return userName;}public String getMobilePhone() {return mobilePhone;}public String getAddress() {return address;}public String getEmail() {return email;}public Short getUserType() {return userType;}public char getSex() {return sex;}public void setUserName(String userName) {this.userName = userName;}public void setMobilePhone(String mobilePhone) {this.mobilePhone = mobilePhone;}public void setAddress(String address) {this.address = address;}public void setEmail(String email) {this.email = email;}public void setUserType(Short userType) {this.userType = userType;}public void setSex(char sex) {this.sex = sex;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}}
3.2.2在sqlMapConfig中加载UserMapper.xml文件:
<mappers><mapper resource="sqlmap/UserMapper.xml" /></mappers>
3.3测试程序:
package zone.pigruno.model;import static org.junit.Assert.*;import java.io.IOException;import java.io.InputStream;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 org.junit.Test;/*** @author liuwl:* @version 创建时间:2016年5月15日 下午7:23:22**/public class UserTest {@Testpublic void findUserByUserId() throws IOException {// mybatis的配置文件String resource = "SqlMapConfig.xml";InputStream inputStream = Resources.getResourceAsStream(resource);// 创建会话工厂SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);// 创建sqlsessionSqlSession sqlSession = sqlSessionFactory.openSession();// 通过sqlSession操作数据库User user = sqlSession.selectOne("User.findUserById", 1);System.out.println(user.getUserName());//释放资源sqlSession.close();}}

本文详细介绍了MyBatis环境的搭建过程,包括通过Maven管理MyBatis依赖、配置log4j日志记录、定义全局配置文件sqlMapConfig.xml及Mapper文件,并通过具体示例展示了如何使用MyBatis查询用户信息。
1061

被折叠的 条评论
为什么被折叠?



