zoukankan      html  css  js  c++  java
  • Mybatis总结一之Mybatis项目的创建

    一、mybatis概念

    Mybatis是对象和表之间映射关系的持久层框架。

    二、Mybatis的导入与创建

    第一步,创建web项目,引入mybatis依赖的jar包----mybatis-3.4.6.jar

    第二步,创建mybatis的主配置文件

     1、创建mybatis模板文件

    Setting---Editor----File and Code  Templates-----+

    模板文件:

    1 <?xml version="1.0" encoding="UTF-8" ?>
    2 <!DOCTYPE configuration
    3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    4 "http://mybatis.org/dtd/mybatis-3-config.dtd">

    oracle的主配置文件:

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE configuration
     3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
     4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
     5 <configuration>
     6 <!--配置mybatis的运行环境
     7 mybatis可以连接多个数据库 ,连接一个数据库的信息就是一个运行环境
     8 default指定默认使用哪个运行环境
     9 -->
    10 <environments default="myOracleEnv">
    11 <!--连接oracle的环境-->
    12 <environment id="myOracleEnv">
    13 <!--配置mybatis的事物管理器
    14 JDBC 使用mybatis自己的事物管理方式,就是使用jdbc的事物管理方式
    15 MANAGED 使用容器的事物管理方式
    16 -->
    17 <transactionManager type="JDBC"></transactionManager>
    18 <!--配置mybatis连接oracle的连接池信息
    19 POOLED 使用连接池的方式获取数据库连接
    20 UNPOOLD 不使用连接池的方式获取数据库连接
    21 -->
    22 <dataSource type="POOLED">
    23 <!--数据库的驱动-->
    24 <property name="driver" value="oracle.jdbc.driver.OracleDriver"></property>
    25 <!-- 数据库连接的url-->
    26 <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
    27 <!--数据库连接的用户名-->
    28 <property name="username" value="scott"></property>
    29 <!-- 数据库连接的密码-->
    30 <property name="password" value="tiger"></property>
    31 </dataSource>
    32 </environment>
    33 </environments>
    34 </configuration>

    第三步,创建mybatis的工厂类工具,用来获取mybatis的SQLSession对象

    获取SqlSession对象:

     1 package com.aaa.mybatis.util;
     2 import org.apache.ibatis.io.Resources;
     3 import org.apache.ibatis.session.SqlSessionimport org.apache.ibatis.session.SqlSessionFactory;
     4 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
     5 import java.io.IOException;
     6 import java.io.Reader;
     7 /**
     8 * 获取SqlSession对象工具类
     9 */
    10 public class SqlSessionFactoryUtil {
    11 //获取SqlSession的工厂类对象
    12 private static SqlSessionFactory sessionFactory;
    13 //静态代码块,在类加载的时候会自动执行该内容
    14 static{
    15 Reader reader =null;
    16 try {
    17 //获取Reader对象,读取mybatis的主配置文件
    18 reader = Resources.getResourceAsReader("mybatis.xml");
    19 //利用SqlSessionFactoryBuilder创建工厂类对象
    20 sessionFactory = new SqlSessionFactoryBuilder().build(reader);
    21 } catch (IOException e) {
    22 e.printStackTrace();
    23 }finally{
    24 try {
    25 reader.close();
    26 } catch (IOException e) {
    27 e.printStackTrace();
    28 }
    29 }
    30 }/**
    31 * 提供给用户调用的获取SqlSession的方法
    32 * @return
    33 */
    34 public static SqlSession getSession(){
    35 return sessionFactory.openSession();
    36 }
    37 }

    第四步,创建实体类

     1 package com.aaa.mybatis.entity;
     2 /**
     3 * 部门管理实体类
     4 */
     5 public class Dept {
     6 private Long deptno;
     7 private String dname;
     8 private String loc;
     9 public Long getDeptno() {
    10 return deptno;
    11 }
    12 public void setDeptno(Long deptno) {
    13 this.deptno = deptno;
    14 }
    15 public String getDname() {
    16 return dname;
    17 }
    18 public void setDname(String dname) {
    19 this.dname = dname;
    20 }
    21 public String getLoc() {
    22 return loc;
    23 }
    24 public void setLoc(String loc) {
    25 this.loc = loc;
    26 }
    27 }

    第五步,创建dao接口

     1 package com.aaa.mybatis.dao;
     2 import com.aaa.mybatis.entity.Dept;
     3 import java.util.List;
     4 /**
     5 * 部门管理dao接口
     6 */
     7 public interface DeptDao {
     8 /**
     9 * 查询所有的部门
    10 * @return
    11 */
    12 public List<Dept> listAll();
    13 }

    第六步,创建dao接口的实现类Mapper

    mapper模板

    1 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    2 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

    第七步,把mapper文件配置到主配置文件

  • 相关阅读:
    dblink && 视图 数据库二合一
    oracle mybatis 逆向工程 应当注意的问题
    关于使用vue搭建前后端分离的项目,部署过程遇到的问题
    详解vue静态资源打包中的坑与解决方案
    bootstarap table 分页导出 vue版
    react中两个控件不是父子关系该怎么传递消息或任意控件怎么传递消息
    虚拟DOM中key的作用
    修改Antd的List列表的单个数据行
    移动端开发如何关闭手机键盘
    在一行显示两个数据,左边的数据右对齐,右边的数据左对齐
  • 原文地址:https://www.cnblogs.com/yanpingping/p/10890602.html
Copyright © 2011-2022 走看看