MyBatis+mysql简单配置及测试案例

来源:互联网 发布:windows 7 sp1 32位 编辑:程序博客网 时间:2024/06/05 05:33

   使用MyBatis的一般步骤如下(本人从 XML 中构建 SqlSessionFactory)

   本人使用Maven开发 , 没有使用Maven的话 ,相应jar需要自行下载 ,放在项目中

  maven中的 pom.xml 导入jar部分配置如下:

 

    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.12</version>      <scope>test</scope>    </dependency>        <!-- Mysql驱动包 -->    <dependency>  <groupId>mysql</groupId>  <artifactId>mysql-connector-java</artifactId>  <version>5.1.38</version></dependency>        <!-- Mybatis -->    <dependency>  <groupId>org.mybatis</groupId>  <artifactId>mybatis</artifactId>  <version>3.4.1</version>    </dependency>


   一. (本人创建一个Web项目)在 src/main/resources 目录中创建一个mybatis.xml文件,该文件对数据库连接进行基本的配置,内容如下:

<?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><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/usertest" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments>        <!-- 这里配置映射 --><mappers><mapper resource="mapper/UserMapper.xml"/></mappers></configuration>
 二. 在 mysql 数据库中创建 usertest表

create table users(    username varchar(20) not null,    upassword varchar(20) not null);insert into users values('admin','admin');--谨记需要进行提交commit;
三. 创建相关java类

1. 在 com.lsy.entity 包中创建 User.java

package com.lsy.entity;public class User {private String username;private String upassword;public User() {}public User(String username, String wpassword) {super();this.username = username;this.upassword = wpassword;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getWpassword() {return upassword;}public void setWpassword(String wpassword) {this.upassword = wpassword;}@Overridepublic String toString() {return "User [username=" + username + ", wpassword=" + upassword + "]";}}
 2. 在 com.lsy.mapper 包中创建 UserMapper.java

package com.lsy.mapper;import com.lsy.entity.User;public interface UserMapper {User login(String username, String upassword);}
3. 在 src/main/resources 中 创建 mapper目录 , 在mapper中创建 UserMapper.xml(此处与你上面mybatis.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"><!-- namespace中配置的路径与你所创建的UserMapper全类名一致  --><mapper namespace="com.lsy.mapper.UserMapper">  <!-- resultType指定你查询语句所查询对象类型  #{0}和#{1} 表示你传入的两个参数username和upassword -->  <select id="login" resultType="com.lsy.entity.User">    select * from users where username = #{0} and upassword = #{1}  </select>  </mapper>
四. 创建 Junit 测试类
package com.lsy.conn.test;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;import com.lsy.entity.User;import com.lsy.mapper.UserMapper;public class ConnTest {@Testpublic void test() {InputStream in = null;//加载Mybatis配置文件try {in = Resources.getResourceAsStream("mybatis.xml");//根据相关的mybatis配置文件, 创建连接SQLSessionFactory连接对象SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);//创建出SQLSession对象SqlSession sqlSeesion = factory.openSession();//通过sqlSession取到映射接口UserMapper userMapper = sqlSeesion.getMapper(UserMapper.class);User user = userMapper.login("admin","admin");System.out.println(user);assertNotNull(user);} catch (IOException e) {e.printStackTrace();}}}