MyBatis第一个简单程序

Posted 互联网IT信息

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis第一个简单程序相关的知识,希望对你有一定的参考价值。

1创建Mybatis第一个简单程序的核心步骤 

1)环境前期准备

2)创建基于maven的工程MyBatis

3)创建持久化的实体类Person

4)配置数据库连接信息configure.xml

5)配置mybatis的sql语句,在配置文件Person.xml中

6)创建测试类MyBatisMain

7)测试结果展示

2第一个简单程序之:环境前期准备 

第一步:准备开发工具

Eclipse Neon 4.6.0

JDK 1.8

第二步:准备数据库:

1) 创建mysql数据实例:template

2) 创建表person,含有如下字段:

personid:int(11)类型

name:varchar(45)类型

age:int(11)类型

sex:int(1)类型

3第一个简单程序之:创建基于maven的工程MyBatis 

第一步:eclipse中配置Maven:

Window->Preferences                             

选择配置好的settings.xml文件。Settings文件配置如下:

1)  修改下载的jar包保存的位置,如图:

MyBatis第一个简单程序

修改标签<localRepository></localRepository>的值指向本机的一个目录。

MyBatis第一个简单程序

第二步:基于Maven创建工程MyBatis如图所示:

MyBatis第一个简单程序

MyBatis第一个简单程序

  第三步:配置工程依赖的jar包,在pom.xml中:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

 

  <groupId>com.test</groupId>

  <artifactId>MyBatis</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <packaging>jar</packaging>

 

  <name>MyBatis</name>

  <url>http://maven.apache.org</url>

 

   <properties>

       <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

       <spring.version>4.1.4.RELEASE</spring.version>

    </properties>

    <dependencies>

       <dependency>

           <groupId>org.springframework</groupId>

           <artifactId>spring-context</artifactId>

           <version>${spring.version}</version>

       </dependency>

       <dependency>

           <groupId>org.springframework</groupId>

           <artifactId>spring-aop</artifactId>

           <version>${spring.version}</version>

       </dependency>

       <dependency>

           <groupId>javax.servlet</groupId>

           <artifactId>jstl</artifactId>

           <version>1.2</version>

       </dependency>

       <dependency>

           <groupId>commons-logging</groupId>

           <artifactId>commons-logging</artifactId>

           <version>1.1.3</version>

       </dependency>

       <dependency>

           <groupId>commons-dbcp</groupId>

           <artifactId>commons-dbcp</artifactId>

           <version>1.4</version>

       </dependency>

       <dependency>

           <groupId>commons-pool</groupId>

           <artifactId>commons-pool</artifactId>

           <version>1.6</version>

       </dependency>

       <dependency>

           <groupId>org.codehaus.jackson</groupId>

           <artifactId>jackson-mapper-asl</artifactId>

           <version>1.9.13</version>

       </dependency>

       <dependency>

           <groupId>com.fasterxml.jackson.core</groupId>

           <artifactId>jackson-annotations</artifactId>

           <version>2.6.1</version>

       </dependency>

       <dependency>

           <groupId>com.fasterxml.jackson.core</groupId>

           <artifactId>jackson-core</artifactId>

           <version>2.6.1</version>

       </dependency>

       <dependency>

           <groupId>com.fasterxml.jackson.core</groupId>

           <artifactId>jackson-databind</artifactId>

           <version>2.6.1</version>

       </dependency>

      

       <dependency>

           <groupId>org.springframework</groupId>

           <artifactId>spring-orm</artifactId>

           <version>${spring.version}</version>

       </dependency>

       <dependency>

           <groupId>org.mybatis</groupId>

           <artifactId>mybatis-spring</artifactId>

           <version>1.2.3</version>

       </dependency>

       <dependency>

           <groupId>mysql</groupId>

           <artifactId>mysql-connector-java</artifactId>

           <version>5.1.36</version>

       </dependency>

       <dependency>

           <groupId>org.mybatis</groupId>

           <artifactId>mybatis</artifactId>

           <version>3.3.0</version>

       </dependency>

       <dependency>

           <groupId>c3p0</groupId>

           <artifactId>c3p0</artifactId>

           <version>0.9.1.2</version>

       </dependency>

 

 

       <dependency>

           <groupId>log4j</groupId>

           <artifactId>log4j</artifactId>

           <version>1.2.17</version>

       </dependency>

    </dependencies>

</project>

第四步:按照如下工程结构创建相关文件:


4第一个简单程序之:创建持久化的实体类Person 

第一步:创建包:com.test.ch01

第二步:在该包下创建Person类

Person类:

package com.test.ch01;

 

public class Person {

   

    private long personid;

    private String name;

    private int age;

    private int sex;

   

    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 int getSex() {

       return sex;

    }

    public void setSex(int sex) {

       this.sex = sex;

    }

    public long getPersonid() {

       return personid;

    }

    public void setPersonid(long personid) {

       this.personid = personid;

    }   

}

5第一个简单程序之:配置数据库连接信息configure.xml 

第一步:创建文件夹src/main/resources

第二步: 创建包:config.ch01

第三步:在该包下创建配置文件

补充:该配置文件的核心节点介绍如下:

typeAliases节点:类型命名,作用是为java类命别名,从而减少后续应用别名的冗余;

environments节点:配置mybatis连接的基础环境的。比如:事务管理器,数据库连接信息等;

mappers节点:映射器,配置mybatis的映射文件的位置信息等

<?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>

    <typeAliases>

       <typeAlias alias="Person" type="com.test.ch01.Person" />

    </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://127.0.0.1:3306/template" />

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

              <property name="password" value="123456" />

           </dataSource>

       </environment>

    </environments>

 

    <mappers>

       <mapper resource="com/test/ch01/models/Person.xml" />

    </mappers>

</configuration>

6第一个简单程序之:配置mybatis的sql语句,在配置文件Person.xml中 

第一步:创建包:com.test.ch01.models

第二步:在该包下创建配置文件

补充:该配置文件的介绍如下:

该配置文件是mybatis最核心也是比jdbc强大的地方,即:此配置文件是mybatis的sql语句配置文件,可以配置增删改查各种语句(insert、delete、update、select),下边的配置文件是配置的查询select

<?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.test.ch01.PersonMapper">

    <select id="getPersonByID" parameterType="int" resultType="Person">

       select *

       from `person` where personid = #{personid}

    </select>

</mapper>

7第一个简单程序之:编写测试类

在包:com.test.ch01下创建测试类:

MyBatisMain类

package com.test.ch01;

 

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 MyBatisMain {

 

    private static SqlSessionFactory sqlSessionFactory;

    private static Reader reader;

 

    static {

       try {

           reader = Resources.getResourceAsReader

("config/ch01/Configure.xml");

           sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

       } catch (Exception e) {

           e.printStackTrace();

       }

    }

 

    public static SqlSessionFactory getSession() {

       return sqlSessionFactory;

    }

 

    public static void main(String[] args) {

       SqlSession session = sqlSessionFactory.openSession();

       try {

           Person person = (Person) session.selectOne

("com.test.ch01.PersonMapper.getPersonByID", 11);

           if (person != null) {

              System.out .println("personid: "+person.getPersonid());

              System.out .println("name: "+person.getName());

              System.out .println("age: "+person.getAge());

              System.out .println("sex: "+person.getSex());

 

           }

       } finally {

           session.close();

       }

    }

 

}

8第一个简单程序之:结果展示

log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory).

log4j:WARN Please initialize the log4j system properly.

log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

personid: 11

name: d999

age: 22

sex: 1

以上是关于MyBatis第一个简单程序的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义MyBatis框架

初识mybatis,第一个简单的mybatis项目

mybatis的第一个程序

mybatis的简单使用

mybatis的简单使用

搭建Mybatis的第一个程序