首页 > 其他分享 >MyBatis框架

MyBatis框架

时间:2023-05-23 12:13:15浏览次数:45  
标签:username String 框架 age id MyBatis password public

Mybatis使用流程

1. 引入mybatis.jar和mysql-connector.jar包

先创建项目,然后引入jar包,方便接下来的操作

2. XML 配置文件书写

参考文献:mybatis – MyBatis 3 | 入门

XML位置:在src目录下,与其他包平齐

XML配置文件作用:包含MyBatis 系统的核心设置,包括获取数据库连接实例的数据源(DataSource)以及决定事务作用域和控制方式的事务管理器(TransactionManager)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!-- 配置MyBatis运行环境-->
  <environments default="development">
    <environment id="development">
		<!-- 配置JDBC事务管理-->
      <transactionManager type="JDBC"/>
      <!-- 用POOLED配置JDBC数据源连接池-->
      <dataSource type="POOLED">
		  <!-- 取到JDBC的连接-->
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
    	<!-- 连接数据库,geek是我的数据库名称-->
        <property name="url" value="jdbc:mysql://localhost:3306/geek"/>
    	<!-- 连接数据库,root是我的数据库服务账号-->
        <property name="username" value="root"/>
        <property name="password" value="数据库密码"/>
      </dataSource>
    </environment>
  </environments> 
  
    <!-- 配置mapper映射文件,用'/'的目的是因为最有一个文件有xml后缀,方便区分文件和目录-->
  <mappers>
    <mapper resource="com/geek/mapper/AccountMapper.xml"/>
  </mappers>
  
</configuration>

3. 创建数据库表

information

4. 创建数据类

Account

public class Account {
	private int id;
	private String username;
	private String password;
	private int age;
	
	public Account() {
	}

	public Account(int id, String username, String password, int age) {
		this.id = id;
		this.username = username;
		this.password = password;
		this.age = age;
	}

	public int getId() {
		return id;
	}

	public void setId(int 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 int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "Account [id=" + id + ", username=" + username + ", password=" + password + ", age=" + age + "]";
	}

}

5. 创建映射关系

AccountMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- namespace就是自己这个xml-->
<mapper namespace="com.geek.mapper.AccountMapper">
	
    <!-- insert就是对应的插入操作,select对应选择,以此类推-->
    <!-- id就是自动创建的方法名,自己写就行,parameterType是方法的参数类型,还有returnType等-->
  <insert id="save" parameterType="com.geek.mybatis.Account">
      <!-- 这里写SQL语句,相当于方法体,values里面的用#{属性名}的形式-->
    insert into information(username,password,age) values(#{username},#{password},#{age})
  </insert>
  
</mapper>

6. 写测试函数

import java.io.IOException;
import java.io.InputStream;

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 com.geek.mybatis.Account;

public class Test {

	public static void main(String[] args) {
		// 加载MyBatis配置文件

		try {
            // resource是前面的XML配置文件路径
			String resource = "config.xml";
            //固定写法得到sqlSession
			InputStream inputStream = Resources.getResourceAsStream(resource);
			SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
			SqlSession sqlSession = sqlSessionFactory.openSession();
            //获取mapper文件中写好的方法,这里是save(那个xml文件对应的某个id)
			String statement = "com.geek.mapper.AccountMapper.save";
   
			Account account = new Account(2,"张三", "123456",20);
            //调用方法
			sqlSession.insert(statement, account);
            //提交到数据库
			sqlSession.commit();
			
		} catch (IOException e) {
		}
		
	}


}

7. 结构图

标签:username,String,框架,age,id,MyBatis,password,public
From: https://www.cnblogs.com/geeklee/p/17423069.html

相关文章

  • pytest + yaml 框架 -29.模板过滤器语法与自定义过滤器使用
    前言v1.2.6版本支持模板过滤器语法的使用,并且可以自定义过滤器了。针对有同学提到上个接口返回一个id值,下个接口引用变量的时候需要根据这个值做一些运算,比如在引用的结果加1.jinja2是可以支持模板过滤器语法的,本篇介绍下模板过滤器的相关使用.v1.2.6版本主要更新以下几点1......
  • 前端框架中加入外部config可配置文件,根据不同的运行、编译环境,加载不同的配置文件
    需求:我们的乾坤vue框架,需要集成给第三方,menu由他们处理(包括菜单权限),我们只负责提供一个去除menu和头部的main即可;这里需要可配置,不能把我们的menu弄丢了。实现方式:1、在src同级目录新建public/plugins/config.js因为是基于webpack打包,会自动过滤public下的文件,复制到打包后的......
  • Mybatis基本使用
    1、创建maven项目,导入mybatis依赖。<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.4.SNAPSHOOT</version></dependency>2、创建Mybati......
  • 【vue流程编辑器框架】Vue-Flowchart-Editor
    前言:不管是OA系统常见的审批流程图还是业务流程图,前端经常会遇到一些流程编辑器的业务场景,分享一个我举得好用的vue组件:Vue-Flowchart-Editor:一个基于Vue的流程图编辑器组件,支持创建、编辑和展示流程图,具有可拖拽节点、连接线、自动布局等功能。 官网地址:https://git......
  • 若依框架当参数为Map集合时数据权限的设置
    1、controller接口参数类型@PreAuthorize("@ss.hasPermi('manual:staff:list')")@GetMapping("/list")publicTableDataInfolist(@RequestParamMap<String,Object>map){map.put("params",newParmStaffCostManu......
  • MyBatis-Plus 可视化代码生成器来啦,让你的开发效率大大提速!!
    前言在基于Mybatis的开发模式中,很多开发者还会选择Mybatis-Plus来辅助功能开发,以此提高开发的效率。虽然Mybatis也有代码生成的工具,但Mybatis-Plus由于在Mybatis基础上做了一些调整,因此,常规的生成工具生成的代码还有一些不太符合预期。而且对于多数据库的支持不是很好。因此,我们......
  • DolohinScheduler 分布式任务调度框架 代码流程分解
    一、DS-API模块-执行工作流 -定时任务执行 更新schedule参数 -/schedule新增schedule参数做了什么事? 将schedule参数用ScheduleParam类进行解析 有效性校验,而后解析保存到t_ds_schedules表内,更新t_ds_process_definition表 -/onlin......
  • 【Swift 开发】 常用第三方框架
    Alamofire:HTTP网络请求框架SwiftyJSON:JSON转Model处理框架Kingfisher:网络图片请求框架,类似SDWebImageRealm:跨平台本地数据库处理框架,支持Android、Swift、JS等语言SnapKit:UI自动布局框架Charts:图表处理框架Lottie:动画和动效播放处理框架SwiftyRSA:RSA加密,公钥、私......
  • 《操作系统》知识框架整理
    文章目录第1章计算机系统概述1.1操作系统的基本概念1.1.1操作系统的三大功能1.1.2操作系统的四大特征1.2操作系统的分类1.3操作系统的运行机制和体系结构1.3.1运行机制和体系结构1.3.2中断和异常1.3.3系统调用第2章进程管理2.1进程与线程2.1.1进程的定义、特征、组成......
  • 基于springBoot框架JAVA语言汽车销售管理系统功能实现
    运行环境idea(推荐)、jdk1.8、mysql5.X(不能为8驱动不匹配)、maven项目技术springboot+vue项目描述本项目基于springboot以及Vue开发。针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管理。1.安装好node环境2.......