mybatis例子(增删改查)

Emp类:与表中的字段映射,定义get,set和toString方法

/*
Emp类是与数据库表tb_emp进行映射
表名与类名不一定要相同
表中字段映射成类的属性
*/

public class Emp {
    private Integer id;//与表tb_emp的id字段映射
    private String empName;//与表tb_emp的empName字段映射
    private Integer age;//与表tb_emp的age字段映射
    private String deptName;//与表tb_emp的deptName字段映射
    private String address;//与表tb_emp的address字段映射

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getEmpName() {
        return empName;
    }

    public void setEmpName(String empName) {
        this.empName = empName;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getAddress() {
        return address;
    }

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

    @Override
    public String toString() {
        return "Emp{" +
                "id=" + id +
                ", empName='" + empName + '\'' +
                ", age=" + age +
                ", deptName=" + deptName +
                ", address='" + address + '\'' +
                '}';
    }
}

MapperEmp.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:命名空间  作为多个mapper文件的唯一标识
        -->
<mapper namespace="emp">
        <!--
        insert标签
        -->
        <insert id="addEmp">
                insert into tb_emp(id,empName,age,deptName,address)
                values(null,'李四','20','开发部','湛江');
        </insert>
        <!--
        动态sql
        参数从外界传进来
        parameterType:参数类型,如果参数类型是一个对象,那么就写这个对象对应类的全路径
        mybatis中提供了一个占位符#(取值符)
        #{对象的属性}相当于调用了 对象.get()方法
        -->
        <insert id="addEmpInfo" parameterType="com.pojo.Emp">
                insert into tb_emp(id,empName,age,deptName,address)
                values(null,#{empName},#{age},#{deptName},#{address})
        </insert>

        <!--
        当传入的参数是String类型或者是Integer类型,这时候parameterType可以写,也可以不写
        当传入的参数是对象类型,那么parameterType一定要写,不可省略
        -->
        <delete id="delById" parameterType="com.pojo.Emp">
                delete from tb_emp where id= #{id};
        </delete>

        <update id="updateById" parameterType="com.pojo.Emp">
                update tb_emp
                set empName=#{empName},
                age=#{age},
                deptName=#{deptName},
                address=#{address}
                where id=#{id}
        </update>

        <select id="selectById" resultType="com.pojo.Emp">
                select * from tb_emp where id=#{id}
        </select>

        <select id="selectAll" resultType="com.pojo.Emp">
                select * from tb_emp
        </select>

</mapper>

mybatis.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">
        <!-- 是MyBatis的核心配置文件
            1、数据源 (交给spring)
            2、事务(交给了sp了ring)
            3、映射文件
         -->
<configuration>
        <!-- 事务   、  数据源、  映射文件 -->
        <!-- 配置开发环境
            default:默认的环境
        -->
        <environments default="dev">
                <!--id值就是默认的环境  -->
                <environment id="dev">
                        <!-- 配置事务管理 -->
                        <transactionManager type="JDBC"></transactionManager>

                        <!-- 配置数据源 type:池化的-->
                        <dataSource type="pooled">
                                <property name="driver"
                                          value="com.mysql.jdbc.Driver"/>

                                <property name="url"
                                          value="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8"/>

                                <property name="username" value="root"/>
                                <property name="password" value="1234"/>

                        </dataSource>
                </environment>
        </environments>

        <!--引入映射文件-->
        <mappers>
                <mapper resource="Mappers/EmpMapper.xml"></mapper>
        </mappers>
</configuration>

测试类:

import com.pojo.Emp;
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;
import java.util.Iterator;
import java.util.List;

public class testEmp {

    @Test
    public void insertEmp() throws IOException {
        //加载mybatis的核心配置文件
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis.xml");
        //创建SQLSessionFactory对象
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        //通过SqlSessionFactory 创建SqlSession对象
        //SqlSession对象执行sql
        SqlSession session = factory.openSession(true);//true表示默认提交事务
        //执行sql 定位执行的sql
        int row = session.insert("emp.addEmp");
        //提交事务
        //session.commit();
        if(row>0){
            System.out.println("添加成功");
            }else{
            System.out.println("添加失败");
        }
        //关闭资源
        session.close();
    }

    @Test
    public void insertInfo() throws IOException {
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        SqlSession session = factory.openSession(true);
        //封装参数
        Emp emp = new Emp();
        emp.setEmpName("旺财");
        emp.setAge(30);
        emp.setDeptName("监察部");
        emp.setAddress("湛江");
        int row = session.insert("emp.addEmpInfo",emp);
        if(row>0){
            System.out.println("新增成功");
        }else{
            System.out.println("新增失败");
        }
        session.close();
    }

    @Test
    public void delById() throws IOException {
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        SqlSession session = factory.openSession(true);
        //Integer id = 2;
        //int row = session.delete("emp.delById",id);
        Emp emp = new Emp();
        emp.setId(1);
        int row = session.delete("emp.delById",emp);
        if(row>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
        session.close();
    }

    @Test
    public void updateByIdInfo() throws IOException {
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        SqlSession session = factory.openSession(true);
        Emp emp = new Emp();
        emp.setId(2);
        emp.setEmpName("王五");
        emp.setAge(13);
        emp.setDeptName("维修部");
        emp.setAddress("广州");
        int row = session.update("emp.updateById",emp);
        if(row>0){
            System.out.println("修改成功");
        }else{
            System.out.println("修改失败");
        }
        session.close();
    }

    @Test
    public void selectById() throws IOException {
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        SqlSession session = factory.openSession(true);
        int id = 2;

        List list = session.selectList("emp.selectById", id);

        //迭代器输出
        Iterator itor = list.iterator();
        while(itor.hasNext()){
            System.out.println(itor.next());
        }
        //foreach输出
      /*  for (Object o: list) {
            System.out.println(o);
        }*/

      //for循环输出
       /* for(int i=0 ;i<list.size();i++) {
            System.out.println(list.get(i)+" ");
        }*/
        session.close();
    }

    @Test
    public void selectAll() throws IOException {
        InputStream in = Resources.getResourceAsStream("mybatis/mybatis.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
        SqlSession session = factory.openSession(true);
        List list = session.selectList("emp.selectAll");
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i)+" ");
        }
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值