Mybatis入门案例(一)

一、需求分析
        对用户表进行增删改查操作
          1、根据用户ID查询用户信息
          2、根据用户名称模糊查询用户列表
          3、添加用户

二、工程搭建
    环境准备:
             Jdk:1.7
             Ide:eclipse neon
             Mybatis:3.2.7
              数据库:MySQL 5X
     Mybatis的核心包和依赖包:
              asm-3.3.1.jar
              cglib-2.2.2.jar
              commons-logging-1.1.1.jar
              javassist-3.17.1-GA.jar
              log4j-1.2.17.jar
              log4j-api-2.0-rc1.jar
              log4j-core-2.0-rc1.jar
              mybatis-3.2.7.jar
              slf4j-api-1.7.5.jar
              slf4j-log4j12-1.7.5.jar
     MySQl的驱动包: mysql-connector-java-5.1.7-bin.jar

三、数据库脚本
     create database mybatis
     use mybatis
     create table user(
     id int primary key auto_increment,
     username varchar(50),
     sex varchar(10),
     address varchar(100)
     )
    insert into user(username,sex,address) values(?,?,?)

四、代码实现
  <一>、创建pojo类
        public class User {
private int id;
private String username;// 用户姓名
private String sex;// 性别
private String address;// 地址
      }

  <二>、创建全局配置文件:在config目录下,创建SqlMapConfig.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>
<package name="cn.ithuplion"/>
    </typeAliases>
<environments default="development">
<environment id="development">
                        <!--配置JDBC事务控制 -->
<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="123" />
</dataSource>
</environment>
</environments>
          <!--加载映射文件 -->
<mappers>
<mapper resource="User.xml" />
</mappers>
     </configuration>

  <三>、需求开发
         1、映射文件:在config目录下,创建User.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="test">
         <!--  1.1、根据用户ID查询用户信息 -->
         <select id="findUserById" parameterType="int" resultType="User">
select * from user where id = #{id}
</select>
        <!--1.2、根据用户名称模糊查询用户列表
           -->
<select id="findUserByUsername" parameterType="String" resultType="User">
SELECT * FROM USER WHERE username LIKE '%${value}%'
</select>
         <!-- 1.3、添加用户  -->
<insert id="addUser" parameterType="User">
<selectKey keyProperty="id" resultType="int" order="AFTER">
select LAST_INSERT_ID()
</selectKey>
insert into user(username,sex,address) values(#
                {username},#{sex},#{address})
</insert>
   </mapper>

   <四>、测试代码
         public class UserTest {

@Test
public void findUserByIdTest() throws Exception{
//读取配置文件
//全局配置文件
InputStream inputStream =
                Resources.getResourceAsStream("SqlMapConfig.xml");
//创建SqlSessionFactory
SqlSessionFactory sessionFactory = new
                SqlSessionFactoryBuilder().build(inputStream);
//SqlSession
SqlSession openSession = sessionFactory.openSession();
User user = openSession.selectOne("test.selectUserById", 10);
System.out.println(user);
openSession.close();
}
@Test
public void findUserByUsernameTest() throws Exception{
//读取配置文件
//全局配置文件
InputStream inputStream =
                Resources.getResourceAsStream("SqlMapConfig.xml");
//创建SqlSessionFactory
SqlSessionFactory sessionFactory = new
                SqlSessionFactoryBuilder().build(inputStream);
//SqlSession
SqlSession openSession = sessionFactory.openSession();
List<User> list =
                openSession.selectList("test.selectUserByUsername", "张");
System.out.println(list);
openSession.close();
}
@Test
public void insertUserTest() throws Exception{
//读取配置文件
//全局配置文件
InputStream inputStream =
                Resources.getResourceAsStream("SqlMapConfig.xml");
//创建SqlSessionFactory
SqlSessionFactory sessionFactory = new
                SqlSessionFactoryBuilder().build(inputStream);
//SqlSession
SqlSession openSession = sessionFactory.openSession();
User user=new User();
user.setUsername("tom");
user.setSex("男");
user.setAddress("贵阳");
int i = openSession.insert("test.insertUser", user);
System.out.println(i);
openSession.commit();
openSession.close();
}
}

猜你喜欢

转载自ithuplion.iteye.com/blog/2373260