`
yuanleilei628
  • 浏览: 12339 次
  • 性别: Icon_minigender_1
  • 来自: 河南安阳
社区版块
存档分类
最新评论

mybatis系列一:开发环境搭建

 
阅读更多

mybatis是个ORM(Object Relational  Mapping 对象模型到关系模型的映射)框架。解决对象模型到二维表的关系模型的阻抗不匹配的问题。ORM框架在三层结构中,处在持久层,业务层调用持久层,持久层与数据库打交道,完成数据的CRUD操作,事务管理等。

ORM框架一般都需要两个元素来支持数据的持久化,1是建立维护数据库的关联;2是对象模型到关系的映射。对应mybaits的两种配置文件,基础配置文件和映射文件。

官网中文在线教程http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html,也有PDF的版可以下载

    

   开发环境搭建

  •     建立maven项目,提供依赖包

      在pom.xml加入以下依赖

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.10</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.2.8</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.34</version>
		</dependency>

 

 

  • 在src/main/resources下提供基础配置文件(mybatis-config.xml)
<?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">
<configuration>
	<!-- 引入外部properties文件 -->
	<properties resource="jdbc.properties" />
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<!-- 配置数据库源 -->
			<dataSource type="POOLED">
				<property name="driver" value="${driver}" />
				<property name="url" value="${url}" />
				<property name="username" value="${username}" />
				<property name="password" value="${password}" />
			</dataSource>
		</environment>
	</environments>
	
</configuration>

    jdbc.properties文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=root

 

 

 

  • 创建表
    DROP TABLE IF EXISTS `t_user`;
    CREATE TABLE `t_user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `username` varchar(40) NOT NULL,
      `password` varchar(40) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
    
    INSERT INTO `t_user` VALUES ('1', 'alex', '123');
    INSERT INTO `t_user` VALUES ('2', 'bing', '5234');
  • 创建实体类
public class User {
	private int id;
	private String username;
	private String password;
	// 省略getter setter方法
	// ...
	// 重写toString 方法
	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", password=" + password + "]";
	}
}

 

 

 

  • 配置映射文件(User.xml)
    <?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">
    <mapper namespace="com.alex.app.entity.User">
      <select id="selectUser" parameterType="int" resultType="com.alex.app.entity.User">
        select * from t_user where id = #{id}
      </select>
    </mapper>
     
  • 基础配置文件(mybatis-config.xml)中,使用mappers配置映射文件的指向(代码21-23行)
    <?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">
    <configuration>
    	<!-- 引入外部properties文件 -->
    	<properties resource="jdbc.properties" />
    	<environments default="development">
    		<environment id="development">
    			<transactionManager type="JDBC" />
    			<!-- 配置数据库源 -->
    			<dataSource type="POOLED">
    				<property name="driver" value="${driver}" />
    				<property name="url" value="${url}" />
    				<property name="username" value="${username}" />
    				<property name="password" value="${password}" />
    			</dataSource>
    		</environment>
    	</environments>
    	<!-- 映射文件 -->
    	<mappers>
    		<mapper resource="com/alex/app/entity/User.xml"/>
    	</mappers>
    </configuration>
     
  • 测试

     
    public class UserTest {
    
    	@Test
    	public void testSelectUser() {
    		try {
    			// 加载基础配置文件
    			InputStream in = Resources.getResourceAsStream("mybatis-config.xml");
    			// 创建SqlSessionFactory
    			SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
    			// 创建SqlSession
    			SqlSession sqlSession = factory.openSession();
    			// 执行业务操作
    			/* selectOne方法说明
    			 * 第一个参数是User.xml的namespace属性  + "." + select标签的id属性
    			 * 第二个参数是id
    			 */
    			String statement = "com.alex.app.entity.User.selectUser";
    			User user = (User)sqlSession.selectOne(statement,2);
    			System.out.println(user);
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }
    
     执行结果:
    User [id=2, username=bing, password=5234]
     
     吐槽,mybatis初学,今天就到这 good night!
  • 大小: 12.4 KB
  • 大小: 12.9 KB
  • 大小: 7.6 KB
  • 大小: 15.1 KB
  • mybaits-demo.rar (9.5 KB)
  • 描述: 环境搭建,源代码,因为使用的是maven构建的项目,所以不含jar包
  • 下载次数: 4
分享到:
评论

相关推荐

    myBatis系列之一:搭建开发环境

    NULL 博文链接:https://bijian1013.iteye.com/blog/2313378

    springmybatis

    mybatis实战教程mybatis in action之一开发环境搭建 mybatis实战教程mybatis in action之二以接口的方式编程 mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现...

    MyBatis教程.docx

    Mybatis 开发环境搭建,选择: Eclipse 版本,mysql 5.5, jdk 1.8, mybatis3.2.3.jar 包。这些软件工具均可以到各自的官方网站上下载。 整个过程在概如下, 1. 在本教程中,建立 java 工程,但一般都是开发 web 项目...

    spring-boot-learning::rocket:spring-boot学习历程中的实例

    开发环境 语言: JDK12.0.1 IDE: IDEA 2019.1.3 依赖管理: Maven 数据库: Mysql 5.6.35 示例代码 Spring Boot系列 以下是本人学习Spring Boot的历程总结,前面一部分没有写博文很可惜 只有从第10章才开始写 :...

    基于javaweb的校园新闻系统源码,使用SpringBoot、Mybatis、Bootstrap等技术,适合做毕业设计

    技术栈 前端:HTML、CSS、JS、BootStrap 后端:Spring,SpringMVC,Mybatis,SpringBoot 数据库:MySQL,Druid连接池 ...环境搭建 第一步:新建Spring项目 选择Spring initialize,点击Next,输入公司名+项目名生成

    基于物联网开发的尿布智能提醒装置.zip

    1、环境搭建 2、模块接线图 3、尿布智能提醒装置流程图_数据格式 4、源码:NB_v1.ino (1)智能提醒装置粘贴在尿布外面,身体腹部处,不与身体直接接触。解决家长害怕 宝宝刮伤的问题,也能够达到多次利用。 (2...

    基于Servlet3.0+IBatis+BootStrip技术构建简单会议管理系统

    第01课 项目简介、环境搭建 第02课 servlet3.0新特性之@WebServlet(登录示例) 第03课 servlet3.0新特性之@WebServlet_@WebInitParam详解 第04课 servlet3.0新特性之@WebFilter_@WebListener 第05课 JQuery AJAX ...

    [计算机毕业设计]基于SSM的篮球系列网上商城设计与实现(源码+部署说明+演示视频+包运行).zip

    本毕业设计基于SSM(Spring+Spring MVC+MyBatis)技术,开发了一个篮球系列网上商城。该商城旨在为篮球爱好者提供一个方便、快捷、智能的购物服务,包括商品浏览、购买、支付等功能。 系统主要分为前台和后台两部分。...

    Guns系列视频+PPT(收费版)

    以Guns为核心,系统地讲解了如何构建一个日常生产环境实用的基于Spring Boot并且集成springmvc + shiro + mybatis-plus + beetl的后台管理系统。 教程从项目的搭建,如何进行日常开发讲起,利用通俗易懂的实际业务...

    BladeX开发手册-2.6.0.RELEASE.pdf

    BladeX是一款精心设计的微服务架构,提供 SpringCloud 全套解决方案 开源中国首批完美集成 SpringCloud Alibaba 系列组件的微服务架构 基于稳定生产的商业项目升级优化而来,更加贴近企业级的需求 追求企业开发更加...

    spring-boot示例项目

    ### 开发环境 - JDK1.8 + - Maven 3.5 + - IntelliJ IDEA ULTIMATE 2019.1 - MySql 5.7 + ### Spring Boot 模块 模块名称|主要内容 ---|--- helloworld|[spring mvc,Spring Boot项目创建,单元测试]...

    Springboot+Vue+Shiro+ElementUI前后端分离权限快速上手项目实战开发

     【课程介绍】技术选型开发环境:Eclipse/Idea ,JDK 1.8以上 后端技术核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选): 持久层框架:MyBatis 3.x + Mybatis-plus...

    FCat企业级基础功能框架-其他

    FCat是基于Angular4+SpringCloud的企业级基础功能框架(户权限管理、区域管理、GIS地图、......),其核心设计...开发环境: node-v6.11.0-x64.msi redis3.X jdk1.8 MySQL Server 5.6 maven3.X IntelliJ IDEA webstorm

Global site tag (gtag.js) - Google Analytics