专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
相关文章推荐
芋道源码  ·  BigDecimal为什么可以不丢失精度? ·  2 天前  
芋道源码  ·  Nginx 实现动态封禁IP,详细教程来了 ·  3 天前  
芋道源码  ·  12月跳槽的兄弟注意了 ·  4 天前  
51好读  ›  专栏  ›  ImportNew

MyBatis(1):MyBatis入门

ImportNew  · 公众号  · Java  · 2016-12-20 20:44

正文

(点击上方公众号,可快速关注)


来源:五月的仓颉

链接:www.cnblogs.com/xrq730/p/5254301.html


MyBatis是什么


MyBatis是什么,MyBatis的jar包中有它的官方文档,文档是这么描述MyBatis的:


MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.


翻译过来就是:MyBatis是一款支持普通SQL查询、存储过程和高级映射的持久层框架。MyBatis消除了几乎所有的JDBC代码、参数的设置和结果集的检索。MyBatis可以使用简单的XML或注解用于参数配置和原始映射,将接口和Java POJO(普通Java对象)映射成数据库中的记录。


本文先入门地搭建表、建立实体类、写基础的配置文件、写简单的Java类,从数据库中查出数据,深入的内容后面的文章再逐一研究。


建表、建立实体类


从简单表开始研究MyBatis,所以我们先建立一张简单的表:


create table student

(

  studentId          int                        primary key     auto_increment    not null,

  studentName        varchar(20)                                                  not null,

  studentAge         int                                                          not null,

  studentPhone       varchar(20)                                                  not null

)charset=utf8

 

insert into student values(null, 'Jack', 20, '000000');

insert into student values(null, 'Mark', 21, '111111');

insert into student values(null, 'Lily', 22, '222222');

insert into student values(null, 'Lucy', 23, '333333');

commit;


一个名为student的表格,里面存放了student相关字段,当然此时我们需要有一个Java实体类与之对应:


public class Student

{

    private int        studentId;

    private String     studentName;

    private int        studentAge;

    private String    studentPhone;

 

    public Student()

    {

        super();

    }

 

    public Student(int studentId, String studentName, int studentAge,

            String studentPhone)

    {

        this.studentId = studentId;

        this.studentName = studentName;

        this.studentAge = studentAge;

        this.studentPhone = studentPhone;

    }

 

    public int getStudentId()

    {

        return studentId;

    }

 

    public void setStudentId(int studentId)

    {

        this.studentId = studentId;

    }

 

    public String getStudentName()

    {

        return studentName;

    }

 

    public void setStudentName(String studentName)

    {

        this.studentName = studentName;

    }

 

    public int getStudentAge()

    {

        return studentAge;

    }

 

    public void setStudentAge(int studentAge)

    {

        this.studentAge = studentAge;

    }

 

    public String getStudentPhone()

    {

        return studentPhone;

    }

 

    public void setStudentPhone(String studentPhone)

    {

        this.studentPhone = studentPhone;

    }

 

    public String toString()

    {

        return "StudentId:" + studentId + "\tStudentName:" + studentName + 

            "\tStudentAge:" + studentAge + "\tStudentPhone:" + studentAge;

    }

}


注意,这里空构造方法必须要有,SqlSession的selectOne方法查询一条信息的时候会调用空构造方法去实例化一个domain出来。OK,这样student表及其对应的实体类Student.java就创建好了。


写config.xml文件


在写SQL语句之前,首先得有SQL运行环境,因此第一步是配置SQL运行的环境。创建一个Java工程,右键src文件夹,创建一个普通文件,取个名字叫做config.xml,config.xml里这么写:


/span>

"http://mybatis.org/dtd/mybatis-3-config.dtd">

 

   

       

   

 

   

       

           

           

               

               

               

               

           

       

   

 

   

       

   


这就是一个最简单的config.xml的写法。接着右键src,创建一个普通文件,命名为student.xml,和mapper里面的一致(resource没有任何的路径则表示student.xml和config.xml同路径),student.xml这么写:


/span>

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">