码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis增删改查

时间:2018-10-29 02:02:10      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:.sql   info   数据类型   har   input   char   oid   override   log4   

Mybaits入门

1.1 需求列表

根据用户ID查询用户信息

根据用户名查找用户列表

添加用户

修改用户

删除用户

1.2 工程搭建

  1. 导入依赖jar包,在课前资源中有
  2. 配置SqlMapConfig.xml,可参考课前资料
  3. 配置log4j.properties可参考课前资料
  4. 在课前资料复制pojo到工程目录下
  5. 配置sql查询的映射文件,可参考课前资料
  6. 加载映射文件

导入依赖jar包

 技术分享图片

 

配置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>
    <!--和spring整合后environments配置将废除-->
<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/test?useUnicode=true&characterEncoding=utf8" />
            <property name="username" value="root" />
            <property name="password" value="password" />
        </dataSource>
    </environment>
</environments>

    <!--加载映射文件-->
    <mappers>
        <mapper resource="mybatis/user.xml"></mapper>
    </mappers>
</configuration>

  

 配置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  

 

创建pojo

package com.tanlei.newer.pojo;

import java.util.Date;

/**
 * @author:Mr.Tan
 * @Create:2018-10-28-07-28
 **/
public class User {
    private int id;
    private String username;// 用户姓名
    private String sex;// 性别
    private Date birthday;// 生日
    private String address;// 地址

    public User() {
    }

    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;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username=‘" + username + ‘\‘‘ +
                ", sex=‘" + sex + ‘\‘‘ +
                ", birthday=" + birthday +
                ", address=‘" + address + ‘\‘‘ +
                ‘}‘;
    }
}

  

配置sql查询的映射文件

技术分享图片

 

 

<?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:命名空间,用于隔离sql语句,后继有重要-->
<!--#{}相当于jdbc的?-->
<mapper namespace="user">
   <!--id:sql id ,语句的唯一标识
      parameterType: 入参的数据类型
      resultSetType: 返回结果的数据类型
   -->
    <select id="getUserById" parameterType="int" resultType="com.tanlei.newer.pojo.User">
       SELECT id,username,birthday,sex,address FROM user WHERE id=#{id2}
   </select>
</mapper>

 

编写测试程序,加载映射文件

package com.tanlei.newer.test;

import com.tanlei.newer.pojo.User;
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 java.io.IOException;
import java.io.InputStream;

/**
 * @author:Mr.Tan
 * @Create:2018-10-28-23-14
 **/
public class MybatisTest {
    @Test
    public void testGetUserById() throws Exception {
        //创建SqlSessionFactoryBuilder对象
        SqlSessionFactoryBuilder ssfb=new SqlSessionFactoryBuilder();
        //创建核心配置文件的输入流
        InputStream inputStream=Resources.getResourceAsStream("SqlMapConfig.xml");
        //通过输入流创建SqlSessionFactor对象
        SqlSessionFactory  sqlSessionFactor=ssfb.build(inputStream);
        //创建sqlSession对象
        SqlSession sqlsession=sqlSessionFactor.openSession();
        //执行查询  参数一:sql id   参数二:入参=parameterType="int"
        User user=sqlsession.selectOne("user.getUserById",10);
        //输出用户
        System.out.println(user);
        //释放资源
        sqlsession.close();
    }
}

  

需求完成步骤

  1. 编写sql语句
  2. 配置user映射文件
  3. 编写测试程序

Mybatis增删改查

标签:.sql   info   数据类型   har   input   char   oid   override   log4   

原文地址:https://www.cnblogs.com/tanlei-sxs/p/9868192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!