mybatis学习---第一个mybatis程序

一、Mybatis

mybatis是一个基于Java的持久层框架。它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

       Mybatis是一个半自动框架,它避免了原生的JDBC代码,不用像JDBC代码一样封装对象,避免了大量重复代码。解除sql与程序代码的耦合。

 

二、使用mybatis的准备

       1.需要的jar

ant-1.9.6.jar

ant-launcher-1.9.6.jar

asm-5.2.jar

cglib-3.2.5.jar

commons-logging-1.2.jar

javassist-3.22.0-GA.jar

log4j-1.2.17.jar

log4j-api-2.3.jar

log4j-core-2.3.jar

mybatis-3.4.6.jarmybatis核心包)

ognl-3.1.16.jar

slf4j-api-1.7.25.jar

slf4j-log4j12-1.7.25.jar

sqljdbc4-2.0.jarsqlserver数据库驱动包,使用mysql数据库替换对应驱动包)

mybatis下载:http://www.mybatis.cn/82.html

 

三、编写一个mybatis程序(以SQL server为例)

       1)创建一个工程导入上述所有jar包

       2)创建实体类user

package com.master;

 

public class User {

   private String u_id;

   private String u_name;

   public String getU_id() {

      return u_id;

   }

   public void setU_id(String u_id) {

      this.u_id = u_id;

   }

   public String getU_name() {

      return u_name;

   }

   public void setU_name(String u_name) {

      this.u_name = u_name;

   }

}

3)在src下创建mybatis配置文件mybatisconfig.xml

此处如过使用mysql只需要修改driver,ur,username,password等参数l

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

   <environments default="development">

      <environment id="development">

         <transactionManager type="JDBC" />

         <dataSource type="POOLED">

            <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />

            <property name="url" value="jdbc:sqlserver://127.0.0.1:1433;databaseName=test" />

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

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

         </dataSource>

      </environment>

   </environments>

<!-- 引入com.master包下的User.xml Sql映射文件 -->

   <mappers>

      <mapper resource="com/master/User.xml" />

   </mappers>

</configuration>

4) com.uit工具类,创建SqlSession以及获取sqlSession

public class MybatisUit {

   //创建SqlSessionFactory

   public static SqlSessionFactory getSqlSessionFactory() throws IOException{

      String resource = "MybatisConfig.xml";

      InputStream inputStream = Resources.getResourceAsStream(resource);

      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

      return sqlSessionFactory;

   }

   //获取SqlSessionFactory

   public static SqlSession getSession() throws IOException

   {

      SqlSessionFactory ssf=getSqlSessionFactory();

      return ssf.openSession();

   }

}

5)在实体类包com.master下创建Sql语句映射文件

<?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.master.UserMapper">

 

    <select id="selectUser" resultType="com.master.User">

       select*from Users where u_id=#{id}

    </select>

</mapper>

6)测试

public static void main(String[] args) throws IOException {

      SqlSession sqlsession=MybatisUit.getSession();

      //selectOne第一个参数是sql语句配置文件的mappernamespace+selectid

      //第二个参数为sql语句的参数

      User user=sqlsession.selectOne("com.master.UserMapper.selectUser", 0001);

      System.out.println("id= "+user.getU_id()+" ,name = "+user.getU_name());

      sqlsession.close();

   }

运行:

 

猜你喜欢

转载自blog.csdn.net/u012777599/article/details/88574014