zoukankan      html  css  js  c++  java
  • MyBatis进行增删改查的3种方式

    1.普通方法

    在mybatis-config.xml文件里要进行注册

    <mappers>

    <mapper resource="static/PersonMapper.xml"/>

    </mappers>

    需要配置xml文件

    <?xml version="1.0" encoding="UTF-8"?>

    <!DOCTYPE mapper SYSTEM "http://mybatis.org/dtd/mybatis-3-mapper.dtd" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN">

    <mapper namespace="cn.kgc.idea_Mybatis.mapper.PersonMapper">

    <insert parameterType="Person" id="savePerson">insert into tbl_person(`name`,age,birth,registerTime,salary) values(#{name},#{age},#{birth},#{registerTime},#{salary}) </insert>

    <delete parameterType="int" id="deletePerson">DELETE FROM tbl_person WHERE id = #{id} </delete>

    <update parameterType="Person" id="updatePerson">UPDATE tbl_person SET `name` = #{name},age = #{age},birth = #{birth},registerTime = #{registerTime},salary = #{salary} WHERE id = #{id} </update>

    <select parameterType="int" id="getPersonById" resultType="Person">select * from tbl_person where id = #{id} </select>

    <select id="getPersonAll" resultType="Person">select * from tbl_person </select>

    </mapper>

    需要有测试类

    public class TestPersonMapper {

    static SqlSessionFactory sqlSessionFactory;

    static{

    InputStream inputStream = null;
    try {
    String resource = "mybatis-config.xml";
    inputStream = Resources.getResourceAsStream(resource);
    } catch (IOException e) {
    e.printStackTrace();
    }
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    }

    public static void main(String[] args) {

    SqlSession session = sqlSessionFactory.openSession();
    try {
    PersonMapper personMapper = session.getMapper(PersonMapper.class);
    /*//增加
    Person person = new Person();
    person.setName("张三");
    person.setAge(24);
    person.setBirth(new Date());
    person.setRegisterTime(new Date());
    person.setSalary(5000);
    personMapper.savePerson(person);
    session.commit();*/

    /*//删除
    personMapper.deletePerson(3);
    session.commit();*/

    /*//修改
    Person person = new Person();
    person.setName("王五");
    person.setAge(24);
    person.setBirth(new Date());
    person.setRegisterTime(new Date());
    person.setSalary(4000);
    person.setId(2);
    personMapper.updatePerson(person);
    session.commit();*/

    /*//查询一个
    Person personById = personMapper.getPersonById(1);
    System.out.println(personById);*/

    //查询多个
    List<Person> personAll = personMapper.getPersonAll();
    for(Person p:personAll){
    System.out.println(p);
    }
    } finally {
    session.close();
    }

    }

    }

    2.注解方式

    需要注册

    举例:<mapper class="cn.kgc.idea_Mybatis.mapper.PersonMapperAnnotaion"/>

    没有xml文件

    sql语句写在接口里

    public interface PersonMapperAnnotaion {

    /*@Insert("insert into tbl_person(`name`,age,birth,registerTime,salary) " +
    "values(#{name},#{age},#{birth},#{registerTime},#{salary})")*/
    public void savePerson(Person person);

    public void deletePerson(int id);

    public void updatePerson(Person person);

    public Person getPersonById(int id);

    public List<Person> getPersonAll();

    }

    3.API方式

    在测试类里直接写,需要借口,不需要xml文件

    public class TestPersonMapperAPI {

    static SqlSessionFactory sqlSessionFactory;

    static{

    InputStream inputStream = null;
    try {
    String resource = "mybatis-config.xml";
    inputStream = Resources.getResourceAsStream(resource);
    } catch (IOException e) {
    e.printStackTrace();
    }
    sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    }

    public static void main(String[] args) {

    SqlSession session = sqlSessionFactory.openSession();
    try {
    Person person = session.selectOne("cn.kgc.idea_Mybatis.mapper.PersonMapper.getPersonById", 1);
    System.out.println(person);
    } finally {
    session.close();
    }

    }

    }

  • 相关阅读:
    IO编程__字节流__输入
    IO编程__文件夹处理__显示文件夹下所有文件名称
    IO编程__文本文件处理
    IO编程__文件对象
    画坦克__线程__V2__第二种方式调用
    画坦克__线程__V1__第一种方法创造线程
    画坦克__敌人坦克
    画坦克__坦克可移动
    【自动化__GUI自动化】__java__selenium__断言__表格标题内容断言
    选项框
  • 原文地址:https://www.cnblogs.com/book3/p/11818473.html
Copyright © 2011-2022 走看看