码迷,mamicode.com
首页 > 其他好文 > 详细

mybatis学习:mybatis的环境搭建

时间:2019-09-07 22:32:01      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:on()   NPU   资源   puts   持久   sources   findall   执行方法   注册   

一、mybatis的概述:

    mybatis是一个持久层框架,用java编写

    它封装了jdbc操作的很多细节,使开发者只需要关注sql语句本身,而无需关注注册驱动,创建连接登繁杂过程

    它使用了ORM思想实现了结果集的封装

    ORM:

        Object  Relational  Mappging 对象关系映射

        简单来说:

            就是把数据库表和实体类及实体类的属性对应起来

            让我们可以操作实体类就实现操作数据库表

 

二、mybatis的环境搭建

第一步:创建maven工程并导入坐标

 1 <packaging>jar</packaging>
 2 
 3     <dependencies>
 4         <dependency>
 5             <groupId>org.mybatis</groupId>
 6             <artifactId>mybatis</artifactId>
 7             <version>3.4.5</version>
 8         </dependency>
 9         <dependency>
10             <groupId>mysql</groupId>
11             <artifactId>mysql-connector-java</artifactId>
12             <version>5.1.6</version>
13         </dependency>
14         <dependency>
15             <groupId>log4j</groupId>
16             <artifactId>log4j</artifactId>
17             <version>1.2.12</version>
18         </dependency>
19         <dependency>
20             <groupId>junit</groupId>
21             <artifactId>junit</artifactId>
22             <version>4.10</version>
23         </dependency>
24     </dependencies>

 

第二步:创建实体类和dao的接口

第三步:创建Mybatis的主配置文件:SqlMapConifg.xml

  1. 在resources目录下创建SqlMapConifg.xml

  2. 导入Config的约束:

  

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

  3. 写入配置文件

  

 1 <!--mybatis的主配置文件-->
 2 <configuration>
 3     <!--配置环境-->
 4     <environments default="mysql">
 5         <!--配置mysql的环境-->
 6         <environment id="mysql">
 7             <!--配置事务的类型-->
 8             <transactionManager type="JDBC"></transactionManager>
 9             <!--配置数据源,也叫连接池-->
10             <dataSource type="POOLED">
11                 <!--配置连接数据库的4个基本信息-->
12                 <property name="driver" value="com.mysql.jdbc.Driver"/>
13                 <property name="url" value="jdbc:mysql://localhost:3307/test"/>
14                 <property name="username" value="root"/>
15                 <property name="password" value="flypig"/>
16             </dataSource>
17         </environment>
18     </environments>
19 
20     <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
21     <mappers>
22         <mapper resource="cn/flypig666/dao/IUserDao.xml"></mapper>
23     </mappers>
24 </configuration>

 

第四步:创建映射配置文件:IUserDao.xml

  例如:resoures目录下cn/flypig666/dao/IUserDao.xml

  1. 导入Mapper的约束

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

  2. 写入配置: resultType为返回的封装数据类型,将数据封装为User对象,存在list中

1  <mapper namespace="cn.flypig666.dao.IUserDao">
2     <!--配置查询所有-->
3     <select id="findAll" resultType="cn.flypig666.domian.User">
4         select * from user
5     </select>
6 
7 </mapper>

 

三、环境搭建的注意事项

  1. 创建IUserDao.xml和IUserDao.java时名称是为了和之间的知识保持一致

    在Mybatis中它把持久层的操作接口名称和映射文件也叫:Mapper

    所以:IUserDao和IUserMapper是一样的

  2. 在idea中创建目录的时候,它和包是不一样的

    包在创建时:cn.flypig666.dao是三层结构

    目录在创建时:cn.flypig666.dao是一级目录

  3. mybatis的映射配置文件位置必须和dao接口的包结构相同

  4. 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名

  5. 映射配置文件的操作配置(select、update),id属性的取值必须是dao接口的方法名

  当我们遵从了3、4、5点之后,我们在开发中就无需再写dao的实现类

四、入门案例

 1 public class MybtisTest {
 2 
 3     //入门案例
 4 
 5     public static void main(String[] args) throws IOException {
 6         //1. 读取配置文件
 7         InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
 8         //2. 创建SqlSessionFactory工厂
 9         SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
10         SqlSessionFactory factory = builder.build(in);
11         //3. 使用工厂生产SqlSession对象
12         SqlSession session = factory.openSession();
13         //4. 使用SqlSession创建Dao接口的代理对象
14         IUserDao userDao = session.getMapper(IUserDao.class);
15         //5. 使用代理对象执行方法
16         List<User> users = userDao.findAll();
17         for (User user : users) {
18             System.out.println(user);
19         }
20         //6. 释放资源
21         session.close();
22         in.close();
23     }
24 }

 

mybatis学习:mybatis的环境搭建

标签:on()   NPU   资源   puts   持久   sources   findall   执行方法   注册   

原文地址:https://www.cnblogs.com/flypig666/p/11483165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!