mybatis自学入门实例(一)

2024-08-30 16:48
文章标签 自学 入门 实例 mybatis

本文主要是介绍mybatis自学入门实例(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mybatis 是什么?

MyBatis 是支持普通SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis  消除了几乎所有的JDBC 代码和参数的手工设置以及结果集的检索。MyBatis  使用简单的XML或注解用于配置和原始映射,将接口和Java 的POJOs(Plan  Old  Java  Objects ,普通的Java对象)映射成数据库中的记录。

入门

每一个 MyBatis 的应用程序都以一个 SqlSessionFactory对象的实例为核心。
SqlSessionFactory 对象的实例可以通SqlSessionFactoryBuilder对象来获得。SqlSessionFactoryBuilder 对象可以从XML 配置文件,或从Configuration 类的习惯准备的实例中构建SqlSessionFactory 对象。
从XML 中构建SqlSessionFactory从XML 文件中构SqlSessionFactory 的实例非常简单。这里建议你使用类路径下的资源文件来配置,但是你可以使用任意的Reader 实例,这个实例包括由文字形式的文件路径或URL 形式的文件路径file://来创建。MyBatis 包含了一些工具类,称作为资源,这些工具
类包含一些方法,这些方法使得从类路径或其他位置加载资源文件更加简单。

String resource = "org/mybatis/example/Configuration.xml";  Reader reader = Resources.getResourceAsReader(resource);  sqlMapper = new SqlSessionFactoryBuilder().build(reader);  

XML 配置文件包含对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><properties resource="db.properties" /> <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="${user}" /><property name="password" value="${password}" /></dataSource></environment></environments><mappers><mapper resource="com/StudentMapper.xml" />//对应的POJO对象的配置文件配置在这里</mappers>
</configuration>
## JDBC配置文件 ##
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/testmybaties
user=root
password=root
## Student pojo对象类 ##
package com;
public class Student {private Integer id;private String name;private Integer age;private Integer tid;public Student(String name, Integer age, Integer tid) {this.name = name;this.age = age;this.tid = tid;}public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Integer getTid() {return tid;}public void setTid(Integer tid) {this.tid = tid;}@Overridepublic String toString() {return "Student [id=" + id + ", name=" + name + ", age=" + age+ ", tid=" + tid + "]";}
}
##StudentMapper.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.StudentMapper"><insert id="insertStudent" parameterType="com.Student"><!-- insert into STUDENT values(se_Student.nextval,#{name},#{age},#{tid}) -->insert into STUDENT(name,age,tid) values(#{name},#{age},#{tid})</insert>
</mapper> 
## 测试类Test.java ##
package pojo;import java.io.IOException;
import java.io.Reader;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.Student;public class Test {public static void main(String[] args) throws IOException {String resource = "sqlConfig.xml";Reader reader = Resources.getResourceAsReader(resource);SqlSessionFactory sqlMapper = new SqlSessionFactoryBuilder().build(reader);SqlSession session = sqlMapper.openSession();Student student = new Student("lilei",23,1);session.insert("com.StudentMapper.insertStudent", student);session.commit();}
}

这篇关于mybatis自学入门实例(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121384

相关文章

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

MyBatis中$与#的区别解析

《MyBatis中$与#的区别解析》文章浏览阅读314次,点赞4次,收藏6次。MyBatis使用#{}作为参数占位符时,会创建预处理语句(PreparedStatement),并将参数值作为预处理语句... 目录一、介绍二、sql注入风险实例一、介绍#(井号):MyBATis使用#{}作为参数占位符时,会

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试