MyBatis初学者总结-搭建MyBatis环境步骤

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。MyBatis 只是一个半自动化的ORM实现,需要我们自己写sql,而不像hibernate那样,直接定义好实体与数据表的映射就行。

  1. 导入jar包:
  2. 注意:画出来的那几个是用来配置batis的,其他的是写DBUtils.java用到的
  3. 创建entity包,在entity包中创建实体类(UserInfo.java)
  4.  1 package entity;
     3 public class UserInfo {
     4     private Integer id;
     5     private String name;
     6     private String password;
     7     public Integer getId() {
     8         return id;
     9     }
    10     public void setId(Integer id) {
    11         this.id = id;
    12     }
    13     public String getName() {
    14         return name;
    15     }
    16     public void setName(String name) {
    17         this.name = name;
    18     }
    19     public String getPassword() {
    20         return password;
    21     }
    22     public void setPassword(String password) {
    23         this.password = password;
    24     }
    25     public UserInfo(Integer id, String name, String password) {
    26         super();
    27         this.id = id;
    28         this.name = name;
    29         this.password = password;
    30     }
    31     public UserInfo(String name, String password) {
    32         super();
    33         this.name = name;
    34         this.password = password;
    35     }
    36     public UserInfo() {
    37         super();
    38         // TODO Auto-generated constructor stub
    39     }
    40     @Override
    41     public String toString() {
    42         return "UserInfo [id=" + id + ", name=" + name + ", password=" + password + "]";
    43     }
    47 }
  5. 创建配置文件(batis-config.xml)
  6.  1 <configuration>
     2      <environments default="development">
     3         <environment id="development">
     4             <transactionManager type="JDBC" />
     5             <dataSource type="POOLED">
     6                 <property name="driver" value="${driver}" />
     7                 <property name="url" value="${url}" />
     8                 <property name="username" value="${username}" />
     9                 <property name="password" value="${password}" />
    10             </dataSource>
    11         </environment>
    12     </environments>
    13 </configuration>

    注意:<Configuration>标签前面需要配置

  7. 1 <!DOCTYPE configuration
    2 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    3 "http://mybatis.org/dtd/mybatis-3-config.dtd">
    4 <configuration>
  8. 创建属性文件(db.preperties)
  9. 1  driver=oracle.jdbc.OracleDriver
    2 url=jdbc:oracle:thin:@localhost:1521:orcl
    3 username=test2
    4 password=123456
  10. 在配置文件中(batis-config.xml)加载属性文件(db.preperties),为了获取属性文件中定义的值。放置<environments>前面。
  11. 1  <properties resource="db.properties">
    2 </properties>创建tools包,在tools包中创建工具类(DBUtils.java)
  12. 创建tools包,在tools包中创建工具类(DBUtils.java)
  13.  1 package tools;
     2
     3
     4 import java.io.IOException;
     5 import java.io.Reader;
     6
     7 import org.apache.ibatis.io.Resources;
     8 import org.apache.ibatis.session.SqlSession;
     9 import org.apache.ibatis.session.SqlSessionFactory;
    10 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    11
    12 public class DBUtils {
    13     private static SqlSessionFactory factory;
    14     static {
    15
    16         try {
    17             //读取配置文件
    18             Reader reader = Resources.getResourceAsReader("batis-config.xml");
    19             //创建SqlSessionFactory
    20             factory=new SqlSessionFactoryBuilder().build(reader);
    21         } catch (IOException e) {
    22             e.printStackTrace();
    23         }
    24     }
    25     /**
    26      * 打开session
    27      * @param flag
    28      * @return
    29      */
    30     public static SqlSession getSession(boolean flag) {
    31         return factory.openSession(flag);
    32     }
    33     /**
    34      * 关闭session
    35      * @param session
    36      */
    37     public static void close(SqlSession session) {
    38         if(session!=null) {
    39             session.close();
    40         }
    41     }
    42     /**
    43      * 事务回滚
    44      * @param session
    45      */
    46     public static void rollback(SqlSession session) {
    47         if(session!=null) {
    48             session.rollback();
    49         }
    50     }
    51     /**
    52      * 事务提交
    53      * @param session
    54      */
    55     public static void commit(SqlSession session) {
    56         if(session!=null) {
    57             session.commit();
    58         }
    59     }
    60
    61 }
  14. 创建映射文件(dao包->>UserInfoMapper接口及定义方法->>创建映射文件)(注意:橙色的id名称就是接口中定义的方法名称,两者要一致)
  15.  1 <mapper namespace="dao.UserInfoMapper">
     2     <select id="login" parameterType="UserInfo" resultMap="userInfoResult">
     3         select * from userInfo where name=#{username} and password=#{password}
     4     </select>
     5
     6     <select id="findAll" resultMap="userInfoResult">
     7         select * from userInfo
     8     </select>
     9
    10     <insert id="insert">
    11         insert into userInfo(name,password) values(#{username},#{password})
    12     </insert>
    13
    14     <update id="update" parameterType="UserInfo" >
    15         update userInfo set name=#{username},password=#{password} where id=#{id}
    16     </update>
    17
    18     <delete id="delete" parameterType="int">
    19         delete from userInfo where id=#{id}
    20     </delete>
    21 </mapper>
    
    // 注意:上面红色的是需要在batis-config.xml定义的别名,若不定义,则应写成:entity.UserInfo
  16. 在batis-config.xml定义别名:
  17. 1 <typeAliases>
    2     <typeAlias type="entity.UserInfo" alias="UserInfo"/>
    3 </typeAliases>
    4
    5
    6 //(entity.UserInfo:为包名+实体类名 UserInfo:别名)
  18. 上面绿色的,若实体类中的属性与数据库的属性没有对应,则需要进行属性映射(放在<mapper>标签下面)
  19. 1 <resultMap type="entity.UserInfo" id="userInfoResult">
    2         <id column="id" property="id" />
    3         <result property="username" column="name" />
    4         <result property="password" column="password" />
    5     </resultMap>
  20. 创建测试类(1)采用select方法
  21.  1  @Test
     2     public void testMybatis() {
     3
     4         SqlSession session = null;
     5         try {
     6             session = DBUtils.getSession(true);
     7             UserInfo userInfo = new UserInfo("TOM", "123456");
     8             UserInfo user = session.selectOne("dao.UserInfoMapper.login", userInfo);
     9             if (user == null) {
    10                 System.out.println("登錄失敗!");
    11             } else {
    12                 System.out.println("登錄成功!");
    13             }
    14         } catch (Exception e) {
    15             e.printStackTrace();
    16         } finally {
    17             if (session != null) {
    18                 DBUtils.close(session);
    19             }
    20         }
    21     }

    采用getMapper()方法

  22.  1  @Test
     2     public void testMapper() {
     3         SqlSession session = null;
     4         try {
     5
     6             session = DBUtils.getSession(true);
     7             UserInfo userInfo = new UserInfo("TOM", "123456");
     8             UserInfo user = session.getMapper(UserInfoMapper.class).login(userInfo);
     9             if (user == null) {
    10                 System.out.println("登录失败");
    11             } else {
    12                 System.out.println("登录成功");
    13             }
    14         } catch (Exception e) {
    15             e.printStackTrace();
    16         } finally {
    17             if (session != null) {
    18                 DBUtils.close(session);
    19             }
    20         }
    21     }

原文地址:https://www.cnblogs.com/RobotMujie/p/8453662.html

时间: 2024-11-05 23:22:17

MyBatis初学者总结-搭建MyBatis环境步骤的相关文章

安卓基础学习-搭建开发环境和HelloWord(一)

在搭建Android开发环境之前,首先简单了解一下Android. Android是用java语言开发,基于linux的自由及开放源代码的操系统,主要使用于移动设备. 搭建Android开发环境需要如下四个工具: jre:java runtime enviroment java运行时环境. sdk:Software Develop Kit 软件开发包,提供安卓不同版本的api. adt:android develop tool 安卓开发工具,是eclipse的一个插件. avd:android

适合初学者的一个分布式环境搭建过程(spring boot + zookeeper + dubbo + mybatis + mysql)

本人也是才开始接触 阿里巴巴的开源分布式框架 dubbo,因为现在微服务框架 spring boot也非常的火,然后结合dubbo的官网搭建这个开发环境. 一.首先 zookeeper作为集群管理服务器,安装和配置在这里就不说了 划分为 4个项目 项目目录如下: 4个项目的依赖关系是:common里面暂时存放的只有user一个实体类,后面陆续会加上其他的公共类,分页,验证等,这个项目不依赖其他的项目,其他3个项目都需要依赖它,所有这个项目需要先打包(相信做个maven项目的人应该都会-----如

MyBatis学习笔记一:MyBatis最简单的环境搭建

MyBatis的最简单环境的搭建,使用xml配置,用来理解后面的复杂配置做基础 1.环境目录树(导入mybatis-3.4.1.jar包即可,这里是为后面的环境最准备使用了web项目,如果只是做 mybatis的环境,普通java项目即可 ) 2.Person.java(纯POJO对象类) package com.orange.model; public class Person { private String name; private String address; public Stri

Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

项目建设完成之后的结构: 数据库的表结构如下: 环境建设:搭建Maven环境.Tomcat环境.需要MySql 数据库支持,使用的编程工具Eclipse (这些是前期准备): 开始创建工程: 1.创建一个Maven工程: 选择webapp 随便填写了: 创建完成之后工程会报错: 接下来怎么解决的? 选中项目点击右键,选择“Properties”  进入下面界面: 选中project facets ,然后将java版本改成 你的jdk版本,或者1.6以上版本. 之后选择 java build pa

Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境【转】

项目建设完成之后的结构: 数据库的表结构如下: 环境建设:搭建Maven环境.Tomcat环境.需要MySql 数据库支持,使用的编程工具Eclipse (这些是前期准备): 开始创建工程: 1.创建一个Maven工程: 选择webapp 随便填写了: 创建完成之后工程会报错: 接下来怎么解决的? 选中项目点击右键,选择"Properties"  进入下面界面: 选中project facets ,然后将java版本改成 你的jdk版本,或者1.6以上版本. 之后选择 java bui

搭建MyBatis开发环境

搭建MyBatis开发环境 1. 导入MyBatis的jar log4j-1.2.17.jar--日志记录 mybatis-3.2.2.jar--核心包 mybatis-3.2.2-sources.jar--源码包MyBatis mysql-connector-java-5.1.0-bin.jar--mysql驱动 有四个,直接放lib下即可 2.配置DTD(约束文档) DTD主要用于代码提示,联想的功能 配置Mapper和config的DTD 1. Window--pereferences--

基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Spring MVC+Mybatis),但是发现配置实在过于复杂,好多东西配置起来麻烦,虽然最终是配置出来了,但是还是感觉开发速度跟不上,本来打算切换到jfianl,但是后来发现需要用的几个框架不支持jfianl,如Swagger2(根据代码中的注解生成接口文档和测试页面,非常的方便):同时我也不愿意放弃SpringMVC强大的验证参数模块,jfianl中好像只能手动验证(当然我对jfianl只处于简单的开发,并不是特别熟),而Sp

eclipse下SpringMVC+Maven+Mybatis+MySQL项目搭建

这篇文章主要讲解在eclipse环境下SpringMVC+Maven+Mybatis+MySQL的项目搭建过程. 创建Maven工程. 右击-->New->Other 点击->Manven Porject 点击->勾选快速框架 输入项目名,包(Packaging,如果只是普通的项目,选jar就好了,如果是web项目就选war,这里是web项目,所以选择war) 右击项目->Properties->Java Build Path->选择Libraries->点

Spring+SpringMvc+Mybatis框架集成搭建教程

一.背景 最近有很多同学由于没有过SSM(Spring+SpringMvc+Mybatis , 以下简称SSM)框架的搭建的经历,所以在自己搭建SSM框架集成的时候,出现了这样或者那样的问题,很是苦恼,网络上又没有很详细的讲解以及搭建的教程.闲来无事,我就利用空闲时间来写这样一个教程和搭建步骤,来帮助那些有问题的小伙伴,让你从此SSM搭建不再有问题. 二.教程目录 1.Spring+SpringMvc+Mybatis框架集成搭建教程一(项目创建) 2.Spring+SpringMvc+Mybat