zoukankan      html  css  js  c++  java
  • mybatis学习一 环境搭建

    第一步导入Jar包

    第二步配置sqlMapConfig.xml文件,xml文件放在src下面

     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     <!-- default的值是<environment>的id,代表当前要连接的数据库环境
     7         【注】default的值一定要是一个<environment>,否则在获取SqlSession实例时会报空指针错误
     8      -->
     9     <environments default="mySqlJdbc">
    10         <environment id="mySqlJdbc">
    11             <!-- 事物标签,使用原生jdbc的事物 -->
    12             <transactionManager type="JDBC"></transactionManager>
    13             <!-- 数据库连接池技术 -->
    14             <dataSource type="POOLED">
    15                 <!-- property中的name的值,不能随便写,有规定的 -->
    16                 <property name="driver" value="com.mysql.jdbc.Driver"/>
    17                 <property name="url" value="jdbc:mysql://192.168.153.128:3306/mybaties?characterEncoding=utf-8"/>
    18                 <property name="username" value="root"/>
    19                 <property name="password" value="123456"/>
    20             </dataSource>
    21         </environment>
    22         <environment id="oracleJdbc">
    23             <transactionManager type=""></transactionManager>
    24             <dataSource type=""></dataSource>
    25         </environment>
    26     </environments>
    27     
    28     
    29     <!-- 加载XXXMapper.xml
    30         如果采用代理开发,package批量指定xxxMapper.xml文件已经xxxMapper.java文件
    31      -->
    32     <mappers>
    33         <mapper resource="com/caopeng/mapper/FlowerMapper.xml"/>
    34     </mappers>
    35 </configuration>

    第三步  配置xxxMapper.xml文件,一般一个xxxMapper.xml文件需要和xxx实体类以及xxx接口配合使用

    xxxMapper.xml文件,一般和xxxMapper.java文件,此文件是一个接口,放在同一个包下

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE mapper
     3   PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     4   "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
     5   <!-- namespace的值用于区分各个文件中的同名的id
     6           在mapper标签下的子标签一般都有一个id属性,如果有多个xxxMapper.xml文件,
     7           就有可能造成aMapper.xml文件中的mapper下子标签的id与bMapper.xml文件中mapper下子标签冲突,
     8           为了解决冲突问题,就用命名空间做区分,和c++中的命名空间,java中的包名  等功能类似
     9    -->
    10   <mapper namespace="com.caopeng.mapper.FlowerMapper">
    11   <!-- select 语句标签在指定返回值时(resultType),哪怕返回值是一个List,但是也是要指定List中的类类型,
    12           resultType的值没有List,我们在用原生的JDBC时,
    13           ResultSet其实是一个游标,要rs.next()来走向下一个记录
    14           
    15    -->
    16       <select id="selAll" resultType="com.caopeng.pojo.Flower">
    17           select * from flower
    18       </select>
    19   
    20   
    21   </mapper>

    第四步编写测试代码  非代理版本

     1 public class Demo {
     2     public static void main(String[] args) throws IOException {
     3         //加载配置文件
     4         InputStream in = Resources.getResourceAsStream("mybatis.xml");
     5         //使用工厂设计模式   【注意】以后sqlSessionFactory都会被spring 管理,不需要我们自己创建
     6         SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);
     7         System.out.println(sqlSessionFactory);
     8         //获取sqlSession
     9         SqlSession sqlSession=sqlSessionFactory.openSession();
    10         
    11         List<Flower> flowrList = sqlSession.selectList("com.caopeng.mapper.FlowerMapper.selAll");
    12         for (Flower flower : flowrList) {
    13             System.out.println(flower);
    14         }
    15         sqlSession.close();
    16     }
    17 }
  • 相关阅读:
    Rman备份及不完全恢复操作
    win2003系统同步Linux ntp server批处理
    ntp服务器搭建
    notepad++调用python3中文乱码
    10G安装DataGuard
    oracle安装配置
    python之路(14)进程
    python之路(13)线程
    python之路(12)网络编程
    python之路(11)描述符
  • 原文地址:https://www.cnblogs.com/cplinux/p/9600839.html
Copyright © 2011-2022 走看看