Mybatis(一)通过XML配置

COMSOL快捷键及内置函数 可快速打开预定义的物理量列表。 阅读详情

安装

如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 pom.xml 文件中:

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

我的version版本是3.5.3

接着导入MySQL

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.18</version>			
</dependency>		

导入单元测试Junit

<dependency>
	<groupId>junit</groupId>
	<artifactId>junit</artifactId>
	<version>4.12</version>			
</dependency>		

maven项目中配置JDK1.8的插件

<build>
       <plugins>
           <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-compiler-plugin</artifactId>
             <configuration>
               <source>1.8</source>
               <target>1.8</target>
               <encoding>utf-8</encoding>
             </configuration>
           </plugin>
       </plugins>
   </build>

在数据库中创建表

use test;
CREATE TABLE category_ (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(32) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

maven 项目结构图

在这里插入图片描述

数据库配置文件db.properties

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8
username=root
password=root

mybatis的配置文件 mybatis.cfg.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>
<!-- 导入数据库配置文件中的参数值 -->
	<properties resource="db.properties"></properties>
	<!--  类型别名
	自动扫描com.how2java.pojo下的类型,
	使得在后续配置文件Category.xml中使用resultType的时候,可以直接使用Category,
	而不必写全pojo.Category
	-->
	<typeAliases>
		<package name="pojo"/>
	</typeAliases>
	<!-- 默认使用的环境 ID -->
	<environments default="development">
	<!--每个 environment 元素定义的环境 ID  -->
		<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)定义 SQL 映射语句了。告诉 MyBatis 到哪里去找到这些语句 -->
	<mappers>
	<!--映射文件的位置  -->
		<mapper resource="pojo/Category.xml"/>
	</mappers>
</configuration>

创建实体类Category

package pojo;

public class Category {
	private int id;
	private String name;

	public int getId() {
		return id;
	}

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

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

SQL语句映射文件Category.xml

namespace 说明
对命名空间的一点说明
在这里插入图片描述

<?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">
<!-- namespace-->
<mapper namespace="pojo">
<!--resultType返回数据类型,parameterType 参数类型-->
<!-- select查询语句-->
	<select id="list" resultType="Category">
		select * from category_
	</select>
	<select id="one" parameterType="int" resultType="Category">
		select * from category_ where id=#{id}
	</select>
	<!-- insert插入语句-->
	<insert id="save" parameterType="Category">
		insert into category_ values(null,#{name})
	</insert>
	<!-- delete删除语句-->
	<delete id="delete" parameterType="int">
		delete from category_ where id=#{id}
	</delete>
	<!-- update更新语句-->
	<update id="update" parameterType="Category">
		update category_ set name=#{name} where id=#{id}
	</update>
</mapper>

测试数据

package test;

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

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 org.junit.After;
import org.junit.Before;
import org.junit.Test;

import pojo.Category;

public class TestCase {
	SqlSessionFactory sf;
	SqlSession ss;
	@Before
	public void before() throws IOException {
		String resource="mybatis.cfg.xml";
		//配置文件mybatis-config.xml,得到SqlSessionFactory
		InputStream inputStream=Resources.getResourceAsStream(resource); 
		sf=new SqlSessionFactoryBuilder().build(inputStream);
		//通过SqlSessionFactory获得SqlSession
		ss=sf.openSession();
	}
	/*
	 *查询所有
	 */
	@Test
	public void test() {
		List<Category>list=ss.selectList("list");
		for (Category category : list) {
			System.out.println(category.getName());
		}
	}
	/*
	 *新增数据
	 */
	@Test
	public void save() {
		Category c=new Category();
		c.setName("category 1");
		int count=ss.insert("save",c);
		System.out.println(count);//返回新增的数据的个数
	}
	/*
	 *修改数据
	 */
	@Test
	public void update(){
		Category c=ss.selectOne("one", 1);
		c.setName("分类1");
		int count=ss.update("update", c);
		System.out.println(count);//返回更新的数据的个数
	}
	/*
	 *删除数据
	 */
	@Test
	public void delete(){
		Category c=ss.selectOne("one", 1);
		int count=ss.delete("delete",c);
		System.out.println(count);//返回删除数据的个数
	}
	//SqlSession的关闭
	@After
	public void after() {
	// 提交事务
		ss.commit();
		// 关闭Session
		ss.close();
	}
}

基本原理

应用程序找Mybatis要数据
mybatis从数据库中找来数据
通过mybatis-cfg.xml 定位哪个数据库
通过Category.xml执行对应的select,update,insert,delete语句
基于Category.xml把返回的数据库记录封装在Category对象中
返回数据

阿粉带你彻底解决开发中对象Bean与Map互转问题! 一、摘要 在实际开发过程中,经常碰到需要进行对象与map之间互转的问题,其实对于对象、Map 之间进行互转有很多种方式,下面我们一起来梳理一下:利用 JSON 工具包,将对象转成字符串,... 阅读详情

相关推荐

COMSOL新手必看:10个高效快捷键+5种常用内置函数实战指南

本文为COMSOL新手提供了10个高效快捷键和5种常用内置函数的实战指南,帮助用户快速提升建模效率。通过具体案例演示,包括解析函数和插值函数等核心功能的应用,确保每个技巧都能立即投入实际项目。掌握这些技巧可大幅减少重复操作时间,优化工作流程。

pluto的博客 329

QT初学者(随笔记录)

QT知识凼(随笔)一、窗口居中1.方法一2.方法二功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 一、窗口居中 参考:...

qq_43275848的博客 1218

IFIX5.8在Win10系统下的安装避坑指南

本文提供了IFIX5.8在Windows 10系统下的详细安装教程与避坑指南。针对常见的驱动缺失、UAC拦截及兼容性报错等问题,文章从安装前准备、分步安装流程到安装后配置与驱动修复,给出了系统性的解决方案,帮助工控从业者顺利完成部署。

f6g7h8i9j的博客 363

【COMSOL要点整体概述】

COMSOL使用

weixin_42000717的博客 9996

SecureCRT串口连接保姆级教程:从驱动安装到波特率设置(附常见问题解决)

本文提供SecureCRT串口连接的保姆级教程,涵盖从USB转串口驱动安装、端口识别到波特率等核心参数设置的完整流程。针对连接失败、乱码、键盘输入无响应等高频问题,给出了深度排查与解决方案,帮助网络与嵌入式开发新手快速掌握串口调试技能。

weixin_29281941的博客 432

别再魔改LWIP了!用STM32CubeMX配置F407的TCP保活(KeepAlive)与自动重连

本文详细介绍了如何通过STM32CubeMX配置STM32F407的LWIP协议栈,实现TCP保活(KeepAlive)与自动重连功能,解决网络异常断开问题。文章提供了从基础环境配置到自动重连架构设计的完整指南,帮助开发者构建高可靠的网络连接机制,适用于工业物联网和嵌入式设备开发。

weixin_27038245的博客 234

MyBatis之XML配置文件(一)

MyBatis提供了insert、delete 、select、 update四个标签定义SQL语句,以下简要介绍每个标签的用法。

水寿十八公专栏 2887

【PVCodeNet】《Palm Vein Recognition Network Combining Transformer and CNN》

1]吴凯,沈文忠,贾丁丁,等.融合Transformer和CNN的手掌静脉识别网络[J].计算机工程与应用,2023,59(24):98-109.

bryant_meng 1279

Mybatis(一)使用xml进行配置

Mybatis使用xml配置maven配置beanmybatismybatis-configStudet.xmlStudentDao目录结构 maven配置 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>t

weixin_44046865的博客 436

Python读取Matlab v7.3数据

文章目录Matlab保存数据Python读取 v7.3 Mat Matlab保存数据 在matlab设置中,常规->MAT文件,选择MATLAB版本7.3或更高版本保存数据。 注意保存数据的文件名为 corre.mat,保存的数据数组为data; 后面python的读取中会用到这两个参数 Python读取 v7.3 Mat 先安装hdf5storage库,再使用以下代码,就可以读取到mat中的数据,注意 import hdf5storage import numpy as np dataDi

weixin_43121914的博客 1081

MIPI D-PHY的校准测试

MIPI的校准测试困扰了很久,今天终于得以解决!

一只豌豆象的博客 3917

MyBatis的XML配置文件(一)

MyBatis的组成中,主要的是SqlSessionFactory的类,这个类会动词调用SqlSession和执行SQL的声明映射。SqlSessionFactory的对象创建可以基于XML的配置或Java的API 笔者将向大家介绍MyBatis的配置文件中的配置参数,像dataSource、environment、gypeAlisea、typeHandler和SQL的映射。 从这一节开始,笔

owen_william的博客 1113

机器学习特征选择-t检验

在特征选择的过程中通过计算检验统计量值,比较特征之间的统计量的大小,并降序排列,选取统计值较高的特征,从而起到去除差别小的特征(此差别小的特征难以区分不同的额类别)的目的。 以t检验(Student's t test)为例: 假设检验 通过比较两类样本的随机变化,通过计算其p值决定是否拒绝零假设,也即是说:通过计算p值,若p值小于某一阈值则认为两个样本具有显著差异,两个样本是不同的,此时拒绝...

heda3的博客 6700

mybatis 基础(一) xml配置

mybatis 基础(一) xml配置 如果文章有误,请各位楼下评论,感谢各位积极修正! 一起学习,成为大佬! mybatis: 1.轻量级 2.高级映射(实体类与数据库表字段的映射) 这样就可以后续开发中去操作实体类而不需要去关注数据库,(但其实已经做了一遍实体类...

aozongjing6494的博客 204

基于Simulink的压缩空气储能(Compressed Air Energy Storage, CAES)

压缩空气储能(CAES)是一种将电能转化为压缩空气存储在高压容器中,然后在需要时释放空气驱动涡轮机发电的技术。它具有大规模、长寿命和环境友好的特点,在电力系统中用于削峰填谷、频率调节和备用电源等应用。本项目将详细介绍如何在MATLAB/Simulink中搭建一个完整的基于压缩空气储能的系统,并提供具体的代码实现和设计步骤。如果你需要实现更复杂的控制逻辑,可以使用MATLAB Function模块。以下是一个简单的例子,展示了如何在该模块中实现一个条件逻辑:Matlab深色版本Kp = 1;

MHD0815的博客 1274

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

MyBatis之使用XML配置SQL映射(一)

1. 前言 关系数据库和SQL都是经过时间考验,都提供数据储蓄机制。不像其它的ORM框架,如Hibernate,MyBatis鼓励使用SQL,而对于开发都来说,SQL的执行是被隐藏。同时MyBatis消除了许多繁琐的配置模板。     在代码中使用嵌套的SQL语句是一个不好的做法,同时在后期维护也昌很难。而MyBatis配置SQL的声明使用映射XML的文件或注解,这样做有一定的好处。在这一章节

owen_william的博客 4722

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MyBatis配置文件XML介绍(一)

如果你在属性名中使用了 “:” 字符(如:db:username),或者在 SQL 映射中使用了 OGNL 表达式的三元运算符(如: ${tableName!tableName : ‘global_constants’}),就需要设置特定的属性来修改分隔属性名和默认值的字符。中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。设置好的属性可以在整个配置文件中用来替换需要动态配置的属性值。的则是 properties 元素中指定的属性。

记录总结工作过往 848

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Mybatis之 CRUD XML配置(一)

Mybatis基本环境搭建一、创建maven工程并导入坐标二、创建实体类和dao的接口 一、创建maven工程并导入坐标 <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5&lt

sygg12345666的博客 337

MyBatis之xml配置配置文件(一)(xml配置文件)

一、properties标签 <properties resource="jdbc.properties"></properties> 使用properties标签来引入外部文件。 jdbc.properties: jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql:///mybatis...

abyiy9580的博客 135

MyBatis中XML配置文件(一)

properties这些属性都是可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来传递。例如:&lt;properties resource="org/mybatis/example/config.properties"&gt; &lt;property name="username" value="user_name"/&gt;...

Mr.Xie的博客 1544

mybatis(一):sqlmapconfig.xml配置

MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息。文档的顶层结构如下: configuration 配置 properties 属性 settings 设置 typeAliases 类型别名 typeHandlers 类型处理器 objectFactory 对象工厂 ...

iOverdosed的博客 1836

mybatis学习(一):XML配置-databaseIdProvider

数据库厂商标识(databaseIdProvider) MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载不带 databaseId 属性和带有匹配当前数据库 databaseId 属性的所有语句。 如果同时找到带有 databaseId 和不带 databaseId 的相同语句,则后者会被舍弃 my...

zm的博客 1137

MyBatis标签一(XML配置)

MyBatis标签一(XML配置) 1.MyBatis的配置文件(configuration)包含: properties(属性) settings(设置) typeAliases(类型命名) typeHandler(类型处理器) objectFactory(对象工厂) plugins(插件) environments(环境) environment(环境变量) transac

起个名字这么长的专栏 3004

Mybatis(一)|搭建mybatis环境之配置文件xml版

参考官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 环境:IDEA、Java8、maven、mybatis、log4j 实践内容:搭建mybatis环境之配置文件xml版 github源码:https://github.com/githubgxr/mybatis 使用IDEA maven创建java项目。 项目结构: pom.xml导入...

白衬衫猿 742

mysql配置文件xml_MyBatis之xml配置配置文件(一)(xml配置文件)

一、properties标签使用properties标签来引入外部文件。jdbc.properties:jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql:///mybatisjdbc.username=rootjdbc.password=123使用外部文件的值(使用${}来引用):二、settings标签只举一个例子:name ...

weixin_29337315的博客 631

Mybatis(一):MyBatis配置文件config.xml详解

MyBatis 配置文件基本结构 在使用mybatis框架时,首先导入其对应的jar包,并进行相应的配置,所以得对配置文件的每个参数都得了解。一个完全的mybatis配置文件结构如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis....

dichengyan0013的博客 388
上一篇: Jmeter的基础知识(一)
下一篇: Mybatis(二)CRUD通过注解方式
迷失的小鹿
博客等级 码龄8年 1万+粉丝 199原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值