首页 > 其他分享 >MyBatis

MyBatis

时间:2022-09-08 01:23:27浏览次数:68  
标签:resource String void mybatis MyBatis public

MyBatis 持久层开发

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="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="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

MyBatis 导入项目

<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>x.x.x</version>
</dependency>

MyBatis 加载配置

String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

MyBatis 基本结构

普通开发模式

//数据库实体类
public class User {
    private Integer id;
    private String username;
    private String password;
    private String gender;
  	private String address;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}
<!--mapper sql语句配置-->
<mapper namespace="test">
  <select id="selectAll" resultType="User">
    select * from user;
  </select>
</mapper>
//MyBatis使用
public class MyBatisDemo {
  public static void main(String[] args) {
    //加载MyBatisd的核心配置文件
    String resource = "org/mybatis/example/mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    
    //获取数据库操作对象
    SqlSession sqlSession = sqlSessionFactory.openSession();
    
    //执行查询的sql语句
    List<User> users = sqlSession.selectList("test.seletcAll");
    
    //释放连接
    sqlSession.close();
  }
}

代理开发模式

//mapper代理接口
public interface UserMapper {
  List<User> selectAll();
}
//MyBatis使用
public class MyBatisDemo {
  public static void main(String[] args) {
    //加载MyBatisd的核心配置文件
    String resource = "org/mybatis/example/mybatis-config.xml";
    InputStream inputStream = Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    
    //获取数据库操作对象
    SqlSession sqlSession = sqlSessionFactory.openSession();
    
    //执行查询的sql语句
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    List<User> users = userMapper.selectAll();
    
    //释放连接
    sqlSession.close();
  }
}

MyBatis 注解开发

@Select:查询注解(将sql语句写入注解中使用即可)
@Insert:插入注解(简单的数据库操作功能建议使用注解方式实现)
@Update:修改注解(复杂的数据库操作功能建议使用配置文件方式实现)
@Delete:删除注解

标签:resource,String,void,mybatis,MyBatis,public
From: https://www.cnblogs.com/yingxin20000303/p/16667875.html

相关文章

  • MyBatis-Plus插入值后返回主键
    LZ做练手设计的时候有这样一个订单需求,先插入订单表数据(t_order),再写入订单详情表(t_orderDetail),详情表需要有一个与t_order的外键约束t_order(oid   auto_in......
  • Mybatist-plus在开发过程中遇到的问题和解决办法
    1,总是老忘记一些LambdaQueryWrapper常用的表达式   2,minmaxsum等聚合函数的查询方法QueryWrapper<ParagonPrintLog>queryWrapper=newQueryWrappe......
  • mybatis问题记录
    1. org.apache.ibatis.exceptions.PersistenceException:###Errorqueryingdatabase.Cause:org.apache.ibatis.binding.BindingException:Parameter'bid'notfo......
  • Mybatis(一)
    学习一个新的内容,我认为还是需要从是什么、为什么、怎么做(怎么用)三个点进行切入,下面我就以此三点对Mybatis进行学习。一、Mybatis是什么 1.Mybatis简介MyBatis本是ap......
  • mybatisplus SQL一对多
    https://blog.csdn.net/Isyoubao/article/details/122212113 重点:<collectionproperty=“nspSchedulings”…/>property=“value”:对应list集合字段,当前为医生排班......
  • MyBatis框架
    MyBatis简介MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis......
  • mybatis-plus-generator代码生成器(新)
    代码生成器所需要的依赖<!--代码生成器--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</ar......
  • MyBatis的一级缓存
    在MyBatis中,一级缓存是默认开启的。1、在一个SqlSession中,对User表进行两次根据ID的查询,查看发出sql语句的情况。/***根据ID查询用户**@paramid*@return*/......
  • Spring_Boot + Mybatis_Plus初始化
    创建SpringBoot项目基础创建及基本配置:https://www.cnblogs.com/Stars0121/p/16601285.html安装依赖项目所需依赖<dependencies><dependency>......
  • mybatis注入的快捷方法忍者鸟(mybatisx)和小辣椒(lombok)
    忍者鸟(mybatisx)和小辣椒(lombok)1.忍者鸟(mybatisx)作用:在mybatis注入时可以快速找到对应的方法图解:点击mapper接口中的方法左侧小红鸟后,即可跳转到对应的xml注解文件中的......