美文网首页
mybaties的传统引用方法(增、删、改、查)

mybaties的传统引用方法(增、删、改、查)

作者: xhlc02 | 来源:发表于2018-09-11 16:17 被阅读0次

1.新建一个maven工程


image.png
image.png

2.在pow.xml导入需要的jar包

    <dependency>  
            <groupId>junit</groupId>  
            <artifactId>junit</artifactId>  
            <version>4.12</version>  
            <scope>provided</scope>  
        </dependency>
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>3.1.1</version>  
        </dependency>
         <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>5.1.38</version>  
        </dependency>
  </dependencies>

3.创建一个db.properties

jdbc.url=jdbc:mysql://localhost:3306/mybaties?characterEncoding=UTF-8
jdbc.username=root
jdbc.password=123456

4.创建一个Person实体

package com.xdl.entity;
/**
 * 人的实体
 * @author Administrator
 *
 */
public class Person {
    private int id;
    private String name;
    private int age;
    private String address;
    private String birthday;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public String getBirthday() {
        return birthday;
    }
    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }
    @Override
    public String toString() {
        return "Person [id=" + id + ", name=" + name + ", age=" + age + ", address=" + address + ", birthday="
                + birthday + "]";
    }
    
}

5.创建一个SqlMappingConfig.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>  
    <!-- 加载属性文件 -->  
    <properties resource="db.properties">  
        <!--properties中还可以配置一些属性名和属性值 -->  
        <!-- <property name="jdbc.driver" value=""/> -->  
    </properties>  
    <typeAliases>  
        <!-- 别名定义 -->
        <typeAlias type="com.xdl.entity.Person" alias="person" />
    </typeAliases>  
    <environments default="development">  
        <environment id="development">  
            <!-- 使用jdbc事务管理,事务控制由mybatis -->  
            <transactionManager type="JDBC" />  
            <!-- 数据库连接池,由mybatis管理 -->  
            <dataSource type="POOLED">  
                <property name="driver" value="${jdbc.driver}" />  
                <property name="url" value="${jdbc.url}" />  
                <property name="username" value="${jdbc.username}" />  
                <property name="password" value="${jdbc.password}" />  
            </dataSource>  
        </environment>  
    </environments>  
    <!-- 加载 映射文件 -->  
    <mappers>
        <!--通过resource方法一次加载一个映射文件 -->  
        <!--注意这里的路径和xml文件 -->  
        <mapper resource="Person.xml" />
    </mappers>  
</configuration>

6.创建Person.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="test1">
    <insert id="insert" parameterType="person">
        <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
            select LAST_INSERT_ID()
        </selectKey>
        insert into Person(name,age,address,birthday) values(#{name},#{age},#{address},#{birthday})
    </insert>
    <select id="selectById" parameterType="int" resultType="person">
        select * from Person where id=#{id}
    </select>
    <select id="selectByName" parameterType="java.lang.String" resultType="person">
        select * from Person where name like "%${value}%"
    </select>
    <delete id="deleteById" parameterType="int">
        delete from Person where id=#{id}
    </delete>
    <update id="updateById" parameterType="person">
        update Person set name=#{name},age=#{age},address=#{address},birthday=#{birthday} where id=#{id}
    </update>
</mapper>

7.创建单元测试类Test

package com.xdl.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

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 com.xdl.entity.Person;

public class Test {
    public SqlSessionFactory getfactyory() throws IOException{
        String filepath="SqlMappingConfig.xml";
        InputStream in = Resources.getResourceAsStream(filepath);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
        return sqlSessionFactory;
        
    }
    @org.junit.Test
    public void  testInsert() throws IOException {
        SqlSessionFactory sqlSessionFactory = this.getfactyory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Person person =new Person();
        person.setAddress("北京");
        person.setAge(15);
        person.setBirthday("05-04");
        person.setName("小明");
        sqlSession.insert("test1.insert",person);
        sqlSession.commit();
        sqlSession.close();
    }
    @org.junit.Test
    public void  testselect() throws IOException {
        SqlSessionFactory sqlSessionFactory = this.getfactyory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Person person = sqlSession.selectOne("test1.selectById", 1);
        System.out.println(person);
        sqlSession.commit();
        sqlSession.close();
    }
    
    @org.junit.Test
    public void  testselectName() throws IOException {
        SqlSessionFactory sqlSessionFactory = this.getfactyory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        List<Person> person = sqlSession.selectList("test1.selectByName","小红");
        for(int i=0;i<person.size();i++) {
            System.out.println(person.get(i));
        }
        
    }
    @org.junit.Test
    public void  deleteById() throws IOException {
        SqlSessionFactory sqlSessionFactory = this.getfactyory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        sqlSession.delete("test1.deleteById",1);
        sqlSession.commit();
        sqlSession.close();
        
    }
    
    @org.junit.Test
    public void  updateById() throws IOException {
        SqlSessionFactory sqlSessionFactory = this.getfactyory();
        SqlSession sqlSession = sqlSessionFactory.openSession();
        Person person =new Person();
        person.setId(2);
        person.setAddress("北京");
        person.setAge(15);
        person.setBirthday("05-04");
        person.setName("小天");
        sqlSession.update("test1.updateById",person);
        sqlSession.commit();
        sqlSession.close();
        
    }
}
image.png

相关文章

网友评论

      本文标题:mybaties的传统引用方法(增、删、改、查)

      本文链接:https://www.haomeiwen.com/subject/hhwkgftx.html