mybatis入门案例

来源:互联网 发布:代理网络棋牌室违法吗 编辑:程序博客网 时间:2024/05/16 19:53

     Mybatis入门案例

     1.首先搭建maven项目

     环境jdk1.7,eclipse4.5.1, mysql

    


     2.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.neutron</groupId><artifactId>flowers</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>flowers</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies>        <!-- mybatis jar --><dependency> <groupId>org.mybatis</groupId>                          <artifactId>mybatis</artifactId>                          <version>3.3.1</version>                  </dependency>                  <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --><dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis-spring</artifactId>    <version>1.2.2</version></dependency>                <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency>    <groupId>mysql</groupId>    <artifactId>mysql-connector-java</artifactId>    <version>5.1.38</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8.1</version><scope>test</scope></dependency></dependencies><build><defaultGoal>compile</defaultGoal></build></project>
   

     3.创建连接数据库配置文件db.properties

driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/mybatisname=rootpassword=root

              4.创建mybatis的配置文件conf.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><!-- 作为属性值引入到conf.xml中 --><properties resource="db.properties" /><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${name}" /><property name="password" value="${password}" /></dataSource></environment></environments><mappers><mapper resource="com/neutron/flowers/mapper/userMapper.xml" /></mappers></configuration>

              其中使用properties属性将db.properties配置文件引入到conf.xml中

    

     5.创建数据库表,并且插入两条数据    

create database mybatis;use mybatis;create table users(id int primary key auto_increment, name varchar(20), age int);insert into users(name, age) values('tom', 12);insert into users(name, age) values('jack', 11);

        6.创建与数据库表对应的实体类.

     注意此时数据库表中的字段和实体类的属性是一一对应的,并且大小写一样。

package com.neutron.flowers.entity;public class User {private int id;private String name;private int age;public User() {super();}public User(int id, String name, int age) {super();this.id = id;this.name = name;this.age = age;}// get set@Overridepublic String toString() {return "User [id=" + id + ", name=" + name + ", age=" + age + "]";}}
    

    7.创建映射文件,文件位置信息请参考代码和前面的项目结构userMapper.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"> <!-- namespace相当于Id,需要唯一,此处设置为实体类包名+mapper文件名 --><mapper namespace="com.neutron.flowers.mapper.userMapper"> <select id="query" parameterType="int" resultType="com.neutron.flowers.entity.User">select id,name,age from users where id = #{id}</select></mapper>
      其中select表示查询,parameterType表示传入参数类型,resultType表示返回值类型。

    再次提示,此处需要表字段和类属性名称必须相同,并且一一对应,如果不同需要进行别名设置而已。此处配置文件是将java实体类和数据库表进行关联。

   

    8.测试类   

package com.neutron.flowers;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Test;import com.neutron.flowers.entity.User;import junit.framework.TestCase;public class UserTest extends TestCase {@Testpublic void testSelect() {String resource = "conf.xml";// 类加载器加载配置文件拿到配置文件流InputStream is = UserTest.class.getClassLoader().getResourceAsStream(resource);// 1.创建SqlSessionFactory实例SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);// 2.创建SqlSession实例SqlSession session = factory.openSession();// statement = namespace + . + idString statement = "com.neutron.flowers.mapper.userMapper"+ "." + "query";// 3.查询User user = session.selectOne(statement, 1);System.out.println(user);}}
              其中,mybatis和hibernate的操作十分类似

     1.根据配置文件创建工厂

     2.根据工厂创建session

     3.根据session和sql进行操作         

0 0
原创粉丝点击