什么是Mybatis

什么是Mybatis

Mybatis是一个mysql的映射框架,提供的数据库的增强能力,是一个增强的jdbc,使用Mybatis让开发人员集中精神写SQL就可以了

不需要关心Connection Statement Result的创建销毁SQL的执行

使用Mybatis以后 不需要在自己jdbc工具类了

基本结构 maven项目

在这里插入图片描述

将你需要书写的配置写在xml文件中 配置文件写在resources文件夹中

1.数据库的属性配置文件 吧数据库连接信息放到一个单独的文件中 和Mybatis主配置文件分开
目的是方便修改 保存 处理多个数据库的信息
步骤:1.在resources目录中定义一个属性配置文件xxx.properties
在属性配置文件中 定义数据 格式是:key=value
例如:jdbc.drive = com.mysql.jdbc.Driver
2.在Mybatis的主配置文件中使用指定文件的位置
在需要使用值得地方 ${}

<?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>
    <environments default="mydev">
        <environment id="mydev">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/bjpowernode"/>
                <property name="username" value="用户名"/>
                <property name="password" value="密码"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com\one\dao\StudentDao.xml"/>
    </mappers>
</configuration>

同时你的SQL语句查询都写在xml中 写在你的dao层 通过接口调用你的SQL语句

2.mapper文件 使用package指定路径

//第一种 普通方式 但是xml如果很多的话 很麻烦 不方便维护

		//第二种方式 打包 使用包名 
			//name:xml文件所在的包名 这个包中所有的xml文件会一次性加载给Mybatis
			/*
			使用要求:1.mapper文件名称需要和接口文件名称一样
						2.mapper文件和dao接口需要在同一个目录
			*/

接口

package com.one.dao;

import com.one.domain.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface StudentDao {
    public List<Student> selectStudents();
    public int insertStudent(Student student);
    public List<Student> selectStudents(@Param("name") String name);
}

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.one.dao.StudentDao">
<!-- namespace和id 是 自给起的名字 爱起啥就起啥 但要保证其唯一性 和路径啥玩意的无关
    id:你要执行的SQL语法的唯一标识 Mybatis会使用这个id的值来找到要执行的SQL语句
    可以自定义 但是要求你使用接口中的方法名称
    resultType:表示结果类型 是SQL语句执行后得到resultset 遍历这个resultset得到java对象的类型
        值写的类型的全限定名称
-->
    <select id="selectStudents" resultType="com.one.domain.Student">
        select  id,name,email,age from Student order by id
    </select>
    <insert id="insertStudent">
        insert into student values (#{id},#{name},#{email},#{age})
    </insert>
</mapper>
<!--
    sql映射文件 写SQL语句的 Mybatis会执行这些SQL
    1.指定约束文件
    <!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    约束文件作用:限制 检查当前文件中出现的标签 属性必须符合Mybatis要求
    2.mapper 是当前文件的根标签 必须的
        namespace 叫做命名空间 唯一值的 可以是自定义的字符
                要求你使用dao接口的全限定名称
     3.在当前文件中 可以使用特定的标签 表示数据库的特定操作
        <select> 表示执行查询 select语句
        <update> 表示更新数据库操作 就是在update标签中
        <insert delete>同上
-->

#{值}:动态传递你接口中传递的值

表示执行查询 select语句
表示更新数据库操作 就是在update标签中
同上
–>


#{值}:动态传递你接口中传递的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值