MyBatis入门程序

创建项目引入jar包等环境操作省略

1、创建log4j.properties文件,并配置

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
log4j.properties

2、创建User类

package com.hjp.po;

import java.util.Date;

public class User {

    private int id;
    private String userName;
    private String sex;
    private Date birthday;
    private String address;

    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 getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}
User

3、创建mybatis全局配置文件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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url"
                          value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&amp;characterEncoding=utf8"></property>
                <property name="username" value="root"></property>
                <property name="password" value="hjp123"></property>
            </dataSource>
        </environment>
    </environments>
</configuration>

4、创建po映射文件

<?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">
    <!--根据用户ID查询用户信息-->
    <select id="findUserById" parameterType="int" resultType="com.hjp.po.User">
        select * from user where id=#{id}
    </select>
</mapper>

5、将po对应的mapper文件加载到全局配置文件中(截图如下)

6、编写测试程序

@Test
    public void findUserById() throws IOException {
        //读取配置文件
        String resource="sqlMapConfig.xml";
        InputStream inputStream= Resources.getResourceAsStream(resource);
        //根据配置文件创建sqlSessionFactory
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
        //factory创建session
        SqlSession session=factory.openSession();
        //查询用户信息(加上命名空间可以确定语句唯一,如果全局就唯一,可以不价namespace)
//        User user=session.selectOne("test.findUserById",1);
        User user=session.selectOne("findUserById",1);
        System.out.println(user);
        //关闭session
        session.close();
    }

7、根据用户名模糊查询用户信息,在po的mapper文件中加入如下

8、根据用户名查询用户信息代码

@Test
    public void findUserByName() throws IOException {
        String resource="sqlMapConfig.xml";
        InputStream inputStream=Resources.getResourceAsStream(resource);
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=factory.openSession();
        List<User> users=session.selectList("findUserByName","小明");
        System.out.println(users);
        session.close();
    }

9、添加用户信息,在mapper中添加如下

10、测试代码

@Test
    public void insertUser() throws IOException {
        String resource="sqlMapConfig.xml";
        InputStream inputStream=Resources.getResourceAsStream(resource);
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=factory.openSession();
        User user=new User();
        user.setUserName("宇文柳旭");
        user.setSex("1");
        user.setAddress("北京");
        user.setBirthday(new Date());
        session.insert("insertUser",user);
        session.commit();//注意commit(因为没有开启自动提交,后面讲自动提交)
        session.close();
    }

11、自增主键返回(主键在PO对象中)

  1)mysql自增主键,mapper文件配置如下

  

  2)非自增主键返回UUID,配置如下

   

  3)Oracle数据库操作返回序列ID,配置如下

  

12、根据用户ID删除用户,配置如下

13、测试代码如下

@Test
    public void deleteUser() throws IOException {
        String resource="sqlMapConfig.xml";
        InputStream inputStream=Resources.getResourceAsStream(resource);
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=factory.openSession();
        session.delete("deleteUser",30);
        session.commit();
        session.close();
    }

14、根据用户ID修改用户信息,mapper配置如下

15、测试代码如下

@Test
    public void updateUser() throws IOException {
        String resource="sqlMapConfig.xml";
        InputStream inputStream=Resources.getResourceAsStream(resource);
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=factory.openSession();
        User user=new User();
        user.setId(1);
        user.setBirthday(new Date());
        user.setSex("0");
        session.update("updateUser",user);
        session.commit();
        session.close();
    }
原文地址:https://www.cnblogs.com/hujiapeng/p/7073332.html