首页 > 其他分享 >使用Mybatis框架(xml)

使用Mybatis框架(xml)

时间:2023-06-10 13:12:13浏览次数:39  
标签:xml mapper 框架 mybatis sqlSession sql Mybatis import

结构:

 

Pojo实体类,对应mysql表的结构

 mapper,将sql映射成方法,通过demo去调用sql方法

XXXmaaper.xml里面写了具体的sql

logback.xml、mybatis.xml配置信息

使用mapper去代理开发要将XXXmapper.xml配置和mapper方法类放在同一目录下

 

XXXmapper.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.leehl.mapper.UserMapper">
    <select id="selectAll" resultType="com.leehl.pojo.User">
        select * from tb_user
    </select>
</mapper>

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>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--数据库连接信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://192.168.10.128:3306/mybatis?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--sql的映射文件-->
        <mapper resource="com/leehl/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

 

运行简而言之:

通过输入流InputStream读取mybatis-config文件去构建SqlsessionFactory,

通过SqlsessionFactory去构建sqlsession,然后用sqlsession对象去打开对象流,opensession

然后用sqlsession去运行sql

package com.leehl;

import com.leehl.mapper.UserMapper;
import com.leehl.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * @author 82365
 * @version 1.0
 * @description TODO
 * @date 2023/6/10 11:22
 */

public class MyBatisDemo2 {
    public static void main(String[] args) throws IOException {
        //加载mybatis配置文件,通过配置文件构建sqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //获取sqlSession对象,用sqlSession来执行sql
        SqlSession sqlSession = sqlSessionFactory.openSession();

        //使用sqlSession的getmapper去执行sql
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = mapper.selectAll();


        System.out.println(userList);
        //关闭session
        sqlSession.close();


    }
}

 

标签:xml,mapper,框架,mybatis,sqlSession,sql,Mybatis,import
From: https://www.cnblogs.com/leehl8016/p/17471133.html

相关文章

  • 教务管理系统之pom.xml
    <?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/......
  • Mybatis三
    $和#符号的区别{}相当于是预处理语句,会将#换成占位符?,字符串等数据赋值时自动拼接引号,可以避免SQL注入${}相当于是处理语句,直接原样将数据取出,直接拼接Mybatis缓存缓存主要目的是为了提高查询效率.缓存其实就是一个内存空间,存储在程序的某个地方,存储数据.......
  • .net abp框架的好处
    ABP(ASP.NETBoilerplate)框架是一种流行的基于.NET平台的开源应用程序框架,它为开发者提供了一整套解决方案,可以帮助他们更加快速地构建高质量的分布式应用程序。ABP框架的主要好处包括:快速开发:ABP框架提供了一系列的代码生成器和基于集成测试的自动化测试工具,可以大大缩短开发......
  • 基于spring boot+mybatis+easyui开发的粮油MES系统源码
    粮油生产加工MES追溯系统源码粮油生产加工MES追溯系统,支持全流程生产溯源粮油MES质量管控防伪溯源系统可广泛用于粮油生产加工领域。实现种植主体、种植基地、生产计划、压榨、精炼、包装、销售、物料管理、检验检测等各个环节的数据采集,达到正向可追踪,反向可溯源,确保粮油品质。基......
  • 第二十九节:批量插入框架[Zack.EFCore.Batch]和EFCore7.x自带的批量删除、更新
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • Mybatis二
    编码格式错误控制台错误提示:MalformedByteSequenceException:1字节的UTF-8序列的字节1无效。解决方案,在pom文件中加入配置<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>分页插件现在我们要学习使用一个常用的......
  • ChatGPT教我用200行代码写一个简版Vue框架 - OpenTiny
    AI是未来最好的老师最近,我正在准备一份关于Vue基础的学习材料。期间我突发奇想:能否利用现在热门的ChatGPT帮我创建学习内容?其实Vue本身不难学,特别是基础用法,但是,如果你想深入掌握Vue,就要通过阅读Vue的源码来了解其原理。然而,不是每个人都有足够的时间和耐心阅读Vue的......
  • mybatis-动态构建SQL
    又学习到了,今天翻着队友写的代码,我看到了个注解,起初还以为是自定义的,我搜了下才发现,竟然是mybatis自带的这个注解,我竟然不知道,又是孤陋寡闻的一天,记录一下这个注解。查找了下这个注解发现这个注解是四个:我看了下与@Select有啥区别,这个@SelectProvider是能够加多条件判断的,看下面......
  • Vue第三方框架之ElementUi
    目录一Elementui引入二elementui使用一Elementui引入Elementui官网:https://element.eleme.cn/#/zh-CN/图标字体库和CSS框架:https://fontawesome.dashgame.com/Elementui是一个ui库,控制样式的,它就是vue的一个插件在vue项目中引入elementui在项目中安装:#安装最新......
  • mybatis拦截器实现数据权限
    前端的菜单和按钮权限都可以通过配置来实现,但很多时候,后台查询数据库数据的权限需要通过手动添加SQL来实现。比如员工打卡记录表,有id,name,dpt_id,company_id等字段,后两个表示部门ID和分公司ID。查看员工打卡记录SQL为:selectid,name,dpt_id,company_idfromt_record当一个总......