mybatis的简单使用过程

来源:互联网 发布:21天学通c语言 下载 编辑:程序博客网 时间:2024/06/17 13:15

1.导入依赖,配置mybatis使用环境

       

        <dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.22</version><scope>runtime</scope></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.5</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.5</version><scope>runtime</scope></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version><scope>runtime</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency>        </dependencies>

2.resources(类路径)下添加log4j.properties文件

log4j.rootLogger=DEBUG, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d [%-5p] %c - %m%n

3.resources(类路径)下添加mybatis的配置文件mybatis-config.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><!-- 类型别名,方便mapper.xml使用,Student=com.tang.test.Student --><typeAliases><typeAlias alias="Student" type="com.tang.test.Student" /></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/bk?characterEncoding=utf-8" /><property name="username" value="root" /><property name="password" value="123456" /></dataSource></environment></environments><!-- 这里放置所有的映射文件的位置 --><mappers><mapper resource="com/tang/test/StudentMapper.xml" /></mappers></configuration>

4.创建与数据库表映射的Student类

package com.tang.test;public class Student {    private Integer sid;    private String sname;    private String semail;    private Long stel;    @Override    public String toString() {        return "Student [sid=" + sid + ", sname=" + sname + ", semail=" + semail + ", stel=" + stel + "]";    }    public Integer getSid() {        return sid;    }    public void setSid(Integer sid) {        this.sid = sid;    }    public String getSname() {        return sname;    }    public void setSname(String sname) {        this.sname = sname==null?null:sname.trim();    }    public String getSemail() {        return semail;    }    public void setSemail(String semail) {        this.semail = semail==null?null:semail.trim();    }    public Long getStel() {        return stel;    }    public void setStel(Long stel) {        this.stel = stel;    }    }

5.创建使用到Student对象的接口映射StudentMapper.java

package com.tang.test;public interface StudentMapper {    public void insert(Student student);        public Student findByIdTelName(int id,Long tel,String name);}

6.创建StudentMapper.java的映射文件StudentMapper.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="com.tang.test.StudentMapper">    <insert id="insert" parameterType="Student" >        insert into student(sname,semail,stel)         <!-- 这里占位符里面写的参数名必须要和类Student里的属性名一致 -->            values(#{sname},#{semail},#{stel})    </insert>        <select id="findByIdTelName" parameterType="int" resultType="Student">        select sid,sname,semail,stel from student         <!-- 这里传入的参数只能写0、1、2(假如是3个参数),或者param1、param2、param3             顺序分别对应接口中参数的顺序,接口如果是int,long,String的顺序,那么            0就表示int,1就表示long,2就表示String-->            where sid=#{param1} and sname=#{param3} and stel=#{param2}    </select></mapper>

7.创建测试类test.java

package com.tang.test;import java.io.IOException;import java.io.Reader;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class test {    public static void main(String[] args) throws IOException {        /// 加载mybatis的配置文件(它也加载关联的映射文件)        String resource = "mybatis-config.xml";        // 加载mybatis的配置文件(它也加载关联的映射文件)        Reader reader = Resources.getResourceAsReader(resource);        // 构建sqlSession的工厂        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);        SqlSession session = factory.openSession();        //得到数据库映射文件mapper        StudentMapper stumapper = session.getMapper(StudentMapper.class);//        Student findStudent = stumapper.findByIdTelName(9,18283617173L,"唐蠡海");//        if(findStudent!=null)//        {//            System.out.println(findStudent.toString());//        }        //新建一个学生对象,同时使用学生对象来添加        Student stu=new Student();        stu.setSemail("408758574@qq.com");        stu.setSname("唐蠡海");        stu.setStel(18283617173L);        stumapper.insert(stu);        //必须提交事务才可以进行增删改操作        session.commit();    }}


原创粉丝点击