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

相关文章

从入门到精通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测试

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

MySQL数据库的内嵌函数和联合查询实例代码

《MySQL数据库的内嵌函数和联合查询实例代码》联合查询是一种将多个查询结果组合在一起的方法,通常使用UNION、UNIONALL、INTERSECT和EXCEPT关键字,下面:本文主要介绍MyS... 目录一.数据库的内嵌函数1.1聚合函数COUNT([DISTINCT] expr)SUM([DISTIN

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page