mybatis 学习二 MyBatis简介与配置MyBatis+Spring+MySql

1.2.2建立MySql数据库

在C:\Program Files\MySQL\MySQL Server 5.7\bin下面:

  首先连接MySQL:        mysql  -u root -p

/* 建立数据库 */
CREATE DATABASE STUDENT_MANAGER;
USE STUDENT_MANAGER;  

/***** 建立student表 *****/
CREATE TABLE STUDENT_TBL
(
   STUDENT_ID         VARCHAR(255) PRIMARY KEY,
   STUDENT_NAME       VARCHAR(10) NOT NULL,
   STUDENT_SEX        VARCHAR(10),
   STUDENT_BIRTHDAY   DATE,
   CLASS_ID           VARCHAR(255)
);  

/*插入学生数据*/
INSERT INTO STUDENT_TBL (STUDENT_ID,
                         STUDENT_NAME,
                         STUDENT_SEX,
                         STUDENT_BIRTHDAY,
                         CLASS_ID)
  VALUES   (123456,
            ‘某某某‘,
            ‘女‘,
            ‘1980-08-01‘,
            121546
            )  

创建连接MySql使用的配置文件mysql.properties。

Mysql.properties代码  

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/student_manager?user=root&password=limingnihao&useUnicode=true&characterEncoding=UTF-8  

1.2.3搭建MyBatis环境

1.2.3.1创建实体类: StudentEntity

package com.deppon.test04.entity;

import java.io.Serializable;
import java.util.Date;

public class StudentEntity implements Serializable {  

    private static final long serialVersionUID = 3096154202413606831L;
    private Date studentBirthday;
    private String studentID;
    private String studentName;
    private String studentSex;  

    public Date getStudentBirthday() {
        return studentBirthday;
    }  

    public String getStudentID() {
        return studentID;
    }  

    public String getStudentName() {
        return studentName;
    }  

    public String getStudentSex() {
        return studentSex;
    }  

    public void setStudentBirthday(Date studentBirthday) {
        this.studentBirthday = studentBirthday;
    }  

    public void setStudentID(String studentID) {
        this.studentID = studentID;
    }  

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }  

    public void setStudentSex(String studentSex) {
        this.studentSex = studentSex;
    }
}  

1.2.3.2创建数据访问接口

Student类对应的dao接口:StudentMapper。

public interface StudentMapper {  

    public StudentEntity getStudent(String studentID);  

    public StudentEntity getStudentAndClass(String studentID);  

    public List<StudentEntity> getStudentAll();  

    public void insertStudent(StudentEntity entity);  

    public void deleteStudent(StudentEntity entity);  

    public void updateStudent(StudentEntity entity);
}  

1.2.3.3创建SQL映射语句文件

Student类的sql语句文件StudentMapper.xml
resultMap标签:表字段与属性的映射。
Select标签:查询sql。

<?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.deppon.test04.dao.StudentMapper">  

    <resultMap type="StudentEntity" id="studentResultMap">
        <id property="studentID" column="STUDENT_ID"/>
        <result property="studentName" column="STUDENT_NAME"/>
        <result property="studentSex" column="STUDENT_SEX"/>
        <result property="studentBirthday" column="STUDENT_BIRTHDAY"/>
    </resultMap>  

    <!-- 查询学生,根据id -->
    <select id="getStudent" parameterType="String" resultType="com.deppon.test04.entity.StudentEntity" resultMap="studentResultMap">
        <![CDATA[
            SELECT * from STUDENT_TBL ST
                WHERE ST.STUDENT_ID = #{studentID}
        ]]>
    </select>  

    <!-- 查询学生列表 -->
    <select id="getStudentAll"  resultType="com.deppon.test04.entity.StudentEntity" resultMap="studentResultMap">
        <![CDATA[
            SELECT * from STUDENT_TBL
        ]]>
    </select>  

</mapper>  

1.2.3.4创建MyBatis的mapper配置文件

在src/main/resource中创建MyBatis配置文件:mybatis-config.xml。typeAliases标签:给类起一个别名。com.manager.data.model.StudentEntity类,可以使用StudentEntity代替。Mappers标签:加载MyBatis中实体类的SQL映射语句文件。
<?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>
    <!-- 全局别名设置,在映射文件中只需写别名,而不必写出整个类路径  -->
    <typeAliases>
         <typeAlias type="com.deppon.test04.entity.StudentEntity" alias="StudentEntity"/>
    </typeAliases>   

    <mappers>
        <mapper resource="src/main/resources/StudentMapper.xml" />
    </mappers>  

</configuration>  

1.2.3.5修改Spring 的配置文件

主要是添加SqlSession的制作工厂类的bean:SqlSessionFactoryBean,(在mybatis.spring包中)。需要指定配置文件位置和dataSource。
和数据访问接口对应的实现bean。通过MapperFactoryBean创建出来。需要执行接口类全称和SqlSession工厂bean的引用

时间: 2024-11-11 16:34:46

mybatis 学习二 MyBatis简介与配置MyBatis+Spring+MySql的相关文章

MyBatis简介与配置MyBatis+Spring+MySql

1.1MyBatis简介 MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型.Map 接口和POJO 到数据库记录.相对Hibernate和Apache OJB等"一站式"ORM解决方案而言,Mybatis 是一种"半自动化"的ORM实现.需要使用的Jar包:mybatis-3.0.2.jar(mybatis核

MyBatis学习(二):与Spring整合(非注解方式配置MyBatis)

搭建SpringMVC的-->传送门<-- 一.环境搭建: 目录结构: 引用的JAR包: 如果是Maven搭建的话,pom.xml的配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql

1.1MyBatis简介 MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型.Map 接口和POJO 到数据库记录.相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现.需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包).mybatis-spr

一、MyBatis简介与配置MyBatis+Spring+MySql

1.1MyBatis简介 MyBatis 是一个可以自定义SQL.存储过程和高级映射的持久层框架.MyBatis 摒除了大部分的JDBC代码.手工设置参数和结果集重获.MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型.Map 接口和POJO 到数据库记录.相对Hibernate和Apache OJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现.需要使用的Jar包:mybatis-3.0.2.jar(mybatis核心包).mybatis-spr

MyBatis学习之路之configuration配置

1.首先讲解的是MyBatis核心配置文件configuration.xml的配置 一个完整的configuration.xml配置顺序如下: 1 properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,plugins,environments,databaseIdProvider,mappers. 如果没有按照上面的标签顺序来配置,编译器会提示The content of element t

MyBatis学习(3)------------数据库配置以及属性名冲突问题

一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/

Mybatis学习(二)

3.Mybatis框架原理 3.1 功能架构设计 功能架构讲解: 我们把Mybatis的功能架构分为三层: (1)API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库.接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理. (2)数据处理层:负责具体的SQL查找.SQL解析.SQL执行和执行结果映射处理等.它主要的目的是根据调用的请求完成一次数据库操作. (3)基础支撑层:负责最基础的功能支撑,包括连接管理.事务管理.配置加载和缓存处理,这些都是共用的东西,将

Mybatis学习二(字段名与实体类属性名不相同/关联查询)

1.在写项目的时候会遇到数据库字段名与实体类属性名不同的情况,可能是为了方便也可能是其他要求,whatever,我们现在来解决这个问题 准备一个数据库表如下 1 CREATE TABLE orders( 2 order_id INT PRIMARY KEY AUTO_INCREMENT, 3 order_no VARCHAR(20), 4 order_price FLOAT 5 ); 接下类定义一个实体类 1 public class Order { 2 private int id; 3 pr

mybatis学习二 全局配置文件解释

全局配置文件的详细解析可以参考mybatis的中文参考文档 1.全局配置文件中内容1.1 <transactionManager/> type 属性可取值1.1.1 JDBC,事务管理使用 JDBC 原生事务管理方式1.1.2 MANAGED 把事务管理转交给其他容器.原生 JDBC 事务  setAutoCommit(false); 1.2 <dataSouce/>type 属性1.2.1 POOLED 使用数据库连接池1.2.2 UNPOOLED 不实用数据库连接池,和直接使用