008 MyBatis 简介

本贴最后更新于 2381 天前,其中的信息可能已经渤澥桑田

本文为《Spring + MyBatis 企业应用实战》章节笔记

8.1 ORM 和 MyBatis

8.1.1 对象/关系数据库映射 (ORM:Object/Relation Mapping)

采用 ORM 框架后,应用程序不再直接访问底层数据库,而是以面向对象的方式来操作持久化对象,而 ORM 框架则将这些面向对象的操作转换成底层的 SQL 操作。

8.1.2 基本映射方式

  • 数据表映射类
  • 数据表的行映射对象(即实例)
  • 数据表的列(字段)映射对象的属性

8.1.3 流行的 ORM 框架简介

  • JPA
  • Hibernate
  • MyBatis

8.1.4 MyBatis 概述

MyBatis 可以使用简单的 XML 或注解进行配置和原始映射,以将接口和 Java 的 POJO(Plain Old Java Object,普通对象)映射成数据库中的记录。

主要思想是将程序中的大量 SQL 语句剥离出来,配置在配置文件中,以实现 SQL 的灵活配置。

8.2 MyBatis 入门

8.2.1 MyBatis 下载和安装

8.2.2 MyBatis 的数据库操作

  1. MySQL 建 库 和 表,eg:库 mybatis、表 tb_user。

    create database mybatis; use mybatis; create table tb_user ( ID int(1) primary key auto_increment, name varchar(18) default null, sex char(2) default null, age int(11) default null )
  2. 建持久化类 User.java,编写 UserMapper.xml,之后就用这个映射好的持久化类来完成对数据库的操作。

    // 持久化类 User.java public class User { private Integer id; private String name; private String sex; private Integer age; public User(){ super(); } public User(String name, String sex, Integer age) { super(); this.name = name; this.sex = sex; this.age = age; } public Integer getId(){ return id; } public void setId(Integer id) { this.id = id; } // 下面省略 name、sex、age 的 get 和 set 方法 }
    // 映射配置文件 UserMapper.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mabatis.org//DTD Mapper 3.0//EN" http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.zhisheng.mapper.UserMapper"> <insert id="save" parameterType="org.zhisheng.domain.User" userGenerateKdys="true"> insert into user(name, sex, age) values(#{name}, #{sex}, #{age}) </insert> </mapper>
  3. 配置 mybatis-config.xml,把 MyBatis 系统核心和具体数据库连接配置好。

    // 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> <settings> <setting name="logImpl" value="LOF4J"/> </setting> <environments default="mysql"> <environment id="mysql"> <TranscationManager type="JDBC"> <dataSource type="POOLED"> <property name"driver" value="com.mysql.jdbc.Driver/"> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/> <property name="username" value="root"/> <properyt name="password" value="password"/> </dataSource> </environment> </environments> <mappers> <mapper resource="org/zhisheng/mapper/UserMapper.xml"/> </mappers> <configuration>
  4. 编写完成数据插入的代码 MyBatisTest.java

    // MyBatisTest.java public class MyBatisTest { public static void main(Strign[] args) throws Exception { InputStream inputStream = Resoucrces.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputstream); SqlSession session = sqlSessionFactory.openSession(); User user = new User("admin", "男", 26); session.insert("org.zhisheng.mapper.UserMapper.save", user); session.commit(); session.close(); } }
  5. 导入日志框架 LOF4J 的 jar 包,增加 log4j.properties 文件。

    // log4j.properties log4j.rootLogger=ERROR, stdout log4j.logger.ort.zhisheng.mapper.UserMapper=DEBUG log4j.appender.stdout=org.apache.lof4j.ConsolAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.apaender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    END

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3194 引用 • 8214 回帖
  • SSM

    SpringMVC, Spring, MyBatis

    12 引用 • 35 回帖
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    946 引用 • 1460 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...