zoukankan      html  css  js  c++  java
  • myBatis的学习之 ( 二 ) ----- myBatis的应用

    一、基本用法

    1.添加jar包

          mybatis-3.2.8.jar

          mysql-connector-java-5.1.7-bin.jar

    添加配置文件

           datasource.properties

    1 jdbc.driverClassName=com.mysql.jdbc.Driver
    2 jdbc.url=jdbc:mysql://localhost:3306/数据库名? useUnicode=true&characterEncoding=utf8
    3 jdbc.username=root
    4 jdbc.password=root
    mb-config.xml
     1   <!--2、设置日志-->
     2   <settings>
     3       <setting name="logImpl" value="log4j"/>
     4       <!--还可使用mybatis官方提供的日志,不用添加log4j的jar包和配置文件-->
     5       <!--<setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>-->
     6   </settings>
     7 
     8   <!--3.给实体类起别名-->
     9    <typeAliases>
    10         <!-- <typeAlias type="day1.entity.User" alias="user"/> 某一个实体类-->
    11         <!--推荐:包下所有类名(别名)-->
    12          <package name="day1.entity"/>
    13    </typeAliases>
    14 
    15   <!--default用来选择使用哪一套配置-->
    16   <environments default="mysql">
    17       <!--environment标签可以有多个,用来配置多个数据库支持,但其id不能重复-->
    18       <environment id="mysql">
    19           <!-- 事务管理器
    20           jdbc:使用jdbc的事务,
    21           MANAGED:表示mybatis对于事务什么都不作,交给其他框架(Spring)处理-->
    22           <transactionManager type="jdbc"></transactionManager>
    23           <!-- 连接信息
    24           1.type的值:
    25           unpooled:不使用连接池,只用来打开和关闭连接
    26           pooled:使用连接池
    27           jndi:向其他框架获取连接-->
    28           <dataSource type="unpooled">
    29               <property name="driver" value="${jdbc.driverClassName}"/>
    30               <property name="url" value="${jdbc.url}"/>
    31               <property name="username" value="${jdbc.username}"/>
    32               <property name="password" value="${jdbc.password}"/>
    33           </dataSource>
    34       </environment>
    35 
    36   </environments>
    37 
    38     <!--映射器:配置mapper文件:本质上是接口的实现类 -->
    39   <mappers>
    40     <mapper resource="day1/mapper/UserMapper.xml"/>
    41     <mapper resource="day1/mapper/UserDaoMapper.xml"/>
    42     <mapper resource="day1/mapper/ResultMap_Mapper.xml"/>
    43   </mappers>
    View Code

    在mapper配置文件里写sql语句

     1   <!--2、设置日志-->
     2   <settings>
     3       <setting name="logImpl" value="log4j"/>
     4       <!--还可使用mybatis官方提供的日志,不用添加log4j的jar包和配置文件-->
     5       <!--<setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/>-->
     6   </settings>
     7 
     8   <!--3.给实体类起别名-->
     9    <typeAliases>
    10         <!-- <typeAlias type="day1.entity.User" alias="user"/> 某一个实体类-->
    11         <!--推荐:包下所有类名(别名)-->
    12          <package name="day1.entity"/>
    13    </typeAliases>
    14 
    15   <!--default用来选择使用哪一套配置-->
    16   <environments default="mysql">
    17       <!--environment标签可以有多个,用来配置多个数据库支持,但其id不能重复-->
    18       <environment id="mysql">
    19           <!-- 事务管理器
    20           jdbc:使用jdbc的事务,
    21           MANAGED:表示mybatis对于事务什么都不作,交给其他框架(Spring)处理-->
    22           <transactionManager type="jdbc"></transactionManager>
    23           <!-- 连接信息
    24           1.type的值:
    25           unpooled:不使用连接池,只用来打开和关闭连接
    26           pooled:使用连接池
    27           jndi:向其他框架获取连接-->
    28           <dataSource type="unpooled">
    29               <property name="driver" value="${jdbc.driverClassName}"/>
    30               <property name="url" value="${jdbc.url}"/>
    31               <property name="username" value="${jdbc.username}"/>
    32               <property name="password" value="${jdbc.password}"/>
    33           </dataSource>
    34       </environment>
    35 
    36   </environments>
    37 
    38     <!--映射器:配置mapper文件:本质上是接口的实现类 -->
    39   <mappers>
    40     <mapper resource="day1/mapper/UserMapper.xml"/>
    41     <mapper resource="day1/mapper/UserDaoMapper.xml"/>
    42     <mapper resource="day1/mapper/ResultMap_Mapper.xml"/>
    43   </mappers>
    View Code

    Util工具类

     1 public class Util {
     2     static SqlSessionFactory factory;
     3     static {
     4         SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
     5         factory = builder.
     6                 build(Util.class.getClassLoader().getResourceAsStream("mb-config.xml"));
     7     }
     8     //获取连接对象
     9     public static SqlSession getSession() {
    10         return factory.openSession();
    11     }
    12     //关闭session
    13     public static void closeSession(SqlSession session) {
    14         if (session != null) {
    15             session.close();//关闭
    16         }
    17     }
    18 }

    测试类 test

     1 //测试类
     2 public class TestMapper {
     3     //psvm
     4     public static void main(String[] args) {
     5         //1.创建sqlSessionFactoryBuilder对象,读取配置文件
     6         SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
     7         //2.连接对象工厂
     8         SqlSessionFactory factory = builder.build(TestMapper.class.
     9                 getClassLoader().getResourceAsStream("mb-config.xml"));
    10         //3.获取连接对象
    11         SqlSession session =factory.openSession();
    12         //4.执行查询操作
    13         // -->1.selectOne("方法名",实参)
    14         User user = session.selectOne("test.selectUserById",1);
    15         // -->2.selectList("方法名")
    16         List<User> list = session.selectList("test.selectAllUsers");
    17         System.out.println("查询结果:"+list.toString());
    18         session.close();
    19     }
    20 }
  • 相关阅读:
    python使用virtualenv创建和管理虚拟环境
    花费一周刷完两份面试pdf(含答案)轻松拿下了抖音、头条、京东、小米等大厂的offer,成功度过程序员的寒冬。
    基于JAVA-SSM框架的B/S微博系统的设计与实现
    如何破解压缩文件zip,rar
    最新精仿Chinaz中国站长网整站源码带全部数据带采集功能
    淘宝自动发货源码,网店自动值守发货系统 不限制域名 支持客户自助提货及自动评价
    得到影视源码分享(有演示),带一键采集,亲测能用,适合懒人做电影站!
    JAVA汽车4S店管理系统
    H5传奇源码,附带微信支付,商城系统,新增了元宝交易商城系统源码
    jdk8的安装及卸载
  • 原文地址:https://www.cnblogs.com/hycc/p/14626158.html
Copyright © 2011-2022 走看看