Hello,Mybatis

Hello World 文档mybatis-flex Hello World 文档第 1 步:创建数据库表sqltb_accountiduser_nameageINTEGER,birthdayDATETIMEVALUES (1, ‘张三’, 18, ‘2020-01-11’),(2, ‘李四’, 19, ‘2021-03-21’);第 2 步:创建 Spring Boot 项目,并添加 Maven 依赖创建一个 Spring Boot 项目。 阅读详情

从0开始,直接动手操作,实现第一个Mybatis程序:Hello World

Table of Contents

获取MyBatis

导入Jar包

创建配置文件

log4j.properties

SqlMapConfig.xml

准备数据库和表

创建POJO(JavaBean)

为实体创建映射文件

加载每个映射文件

在实体映射文件中编写SQL

执行&获取结果


获取MyBatis

获取MyBatis:https://github.com/mybatis/mybatis-3

点击下载按钮,将会跳转到:https://github.com/mybatis/mybatis-3/releases

选择合适的版本进行下载,下载后的zip包内容:

导入Jar包

创建一个Java项目,创建一个lib文件夹。导入MyBatis的Jar包(MyBatis-版本.jar核心包)和MySQL驱动包:

执行BuildPath:

创建配置文件

创建资源文件夹config,用于放置配置文件。加入log4j.properties和SqlMapConfig.xml配置文件

log4j.properties

在config下创建log4j.properties如下:

# Global logging configuration
log4j.rootLogger=DEBUG, stdout

# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

SqlMapConfig.xml

在config下创建SqlMapConfig.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>
	<!-- 注意:和spring整合后 environments配置将废除,因为Spring会自动帮我们连接数据库-->
	<environments default="development">
		<environment id="development">
			<!-- 使用jdbc事务管理 -->
			<transactionManager type="JDBC" />
			<!-- 数据库连接池 -->
			<dataSource type="POOLED">
				<property name="driver" value="com.mysql.jdbc.Driver" />
				<property name="url"
					value="jdbc:mysql://localhost:3306/kdb?characterEncoding=utf-8" />
				<property name="username" value="root" />
				<property name="password" value="kyle" />
			</dataSource>
		</environment>
	</environments>
</configuration>

SqlMapConfig.xml是mybatis核心配置文件,配置文件内容为数据源、事务管理。 

准备数据库和表

MySQL的用户名和密码:root kyle

-- 1.创建一个名为kdb的数据库并设置编码
CREATE DATABASE kdb CHARACTER SET utf8;
-- 2.切换到kdb数据库
USE kdb;

-- 3.创建一个表格
CREATE TABLE person (
	pid INT PRIMARY KEY AUTO_INCREMENT COMMENT '人的编号,作为主键,编号自动增长',
	pname VARCHAR(20) NOT NULL COMMENT '人的姓名,不可以为空',
	psex VARCHAR(20) DEFAULT NULL COMMENT '性别',
	page INT DEFAULT NULL COMMENT '年龄,默认为空',
	paddress VARCHAR(50) DEFAULT NULL COMMENT '住址,默认为空',
	ptel VARCHAR(15) DEFAULT NULL COMMENT '电话',
	pemail VARCHAR(50) DEFAULT NULL COMMENT '电邮'
);

-- 4.添加几条记录
INSERT INTO person VALUES (1,'Jhon',20,'man','HongKong','16818181818','jhon@pronhub.com'),
	(2,'Project Alice',32,'man','raccoon city','15745452525','alice@umbrella.com'),
	(3,'Fukada Eimi',28,'man','Japanese','10100101010','fukada@javbus.com'),
	(4,'Yourer',25,'man','Japanese','19191918989','you@thepxxxtube.com'),
	(5,'anay',22,'man','Taiwan','11100101001','anay@darkwiki.oni*on')

创建POJO(JavaBean)

为实体创建映射文件

为每个POJO类创建一个同名映射文件,在config下的sqlmap目录下创建sql映射文件Person.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">

<!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用 -->
<mapper namespace="first">

</mapper>

加载每个映射文件

将Person.xml配置到SqlMapconfig.xml中:

在实体映射文件中编写SQL

在Person.xml中添加select标签,编写SQL:

执行&获取结果

步骤:

1. 创建SqlSessionFactoryBuilder对象

2. 加载SqlMapConfig.xml配置文件

3. 创建SqlSessionFactory对象

4. 创建SqlSession对象

5. 执行SqlSession对象执行查询,获取结果User

6. 打印结果

7. 释放资源

package test;

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 pojo.Person;


public class HelloMyBatis {
	public static void main(String[] args) throws IOException {
		//1. 加载核心配置文件
		String resource = "SqlMapConfig.xml";
		InputStream in = Resources.getResourceAsStream(resource);

		// 2. 创建SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);

		// 3. 创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();

		// 执行Sql语句
		Person user = sqlSession.selectOne("first.queryUserById", 2);

		System.out.println(user);
	}
}

pytorch超详细安装教程,Anaconda、PyTorch和PyCharm整套安装流程 本文介绍基于Anaconda环境以及与PyCharm结合,安装PyTorch深度学习框架。 阅读详情

相关推荐

JavaScript性能优化:全链路性能优化策略

JavaScript性能优化是提升Web应用质量的核心要素,直接影响用户体验与业务成果。研究表明,页面加载延迟1秒可能导致转化率下降7%。高效的JavaScript执行能减少主线程阻塞,避免动画卡顿或操作延迟,尤其在移动端低性能设备上更为关键。优化内存管理与减少冗余计算可降低浏览器资源消耗,防止因内存泄漏导致的崩溃,提升应用稳定性。在竞争激烈的互联网环境中,性能优势已成为产品差异化的关键因素,直接影响用户留存与商业价值。因此,性能优化应作为开发全周期的核心实践,而非事后补救措施。

weixin_49707375的博客 1270

MyBatis的HelloWorld

我们先创建一个新的数据库,名字叫MyBatis 然后在MyBatis数据库中新建表tb1_employee: create table tb1_employee( id int(11) primary key auto_increment, last_name varchar(255), gender char(1), email varchar(255) ) 然后在里面添加一条数据: U...

qq_36901488的博客 343

ZYNQ程序固化实战:从BOOT.bin生成到QSPI/SD卡双启动模式详解

本文详细解析了ZYNQ 7000系列程序固化的完整流程,重点解决了程序断电丢失问题。通过实战演示,从生成BOOT.bin文件到配置QSPI与SD卡双启动模式,逐步指导开发者实现程序在外部存储中的永久驻留,确保产品脱离调试器独立运行。

weixin_29193259的博客 517

MyBatis的第一个HelloWorld小例子(不用接口)

首先要创建好相应的数据库和表,导入Mybatis相关的jar包以及数据库驱动的jar包。 在Eclipse中创建一个项目,将相关的包导入进去。 创建一个mybatis-config(名字可以随便取,但是最好用这个名字)作为全局配置文件。内容如下:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//m

一条小船的博客 1522

OFDM基本原理

OFDM基础介绍,包括OFDM的核心思想,数学推导了OFDM信号的调制解调过程。

伊丽莎白的学习之路 8907

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 277

【MyBatis】HelloMyBatis——快速入门与增删改查

原生JDBC的设计缺陷 原生JDBC开发存在许多问题: 2)频繁创建/释放数据库连接,造成资源浪费 2)sql语句和java代码是耦合死的,这种硬编码不利于后期维护 3)查询操作时,需要手动将结果集的数据封装到实体中;插入操作时,需要手动将实体的数据一个个传给sql语句的占位符 上述问题都有对应的解决方案: 1)使用数据库连接池 2)sql语句抽取到配置文件中,从而解耦 3)使用反射、内省等底层技术,将实体属性与表字段进行自动映射     什么是MyBatis mybatis是一个优秀的

丧心病狂Loli控的博客 203

Xilinx System Generator多速率系统(Multi-Rate Systems)的使用

在本实验练习中,您将学习在System Generator中如何使用多个时钟域有效地实现具有多个数据速率的设计。

白码王子小张的博客 1093

mybatis-1-hellomybatis

一、先创建一个mybatis的数据表 USE `mybatis`; CREATE TABLE tbl_employee( id INT(11) PRIMARY KEY AUTO_INCREMENT, last_name VARCHAR(255), gender CHAR(1), email VARCHAR(255) ) 添加数据 二、创建实体类 我们的目标就是:把数据导入到这个实体类中,封装成一个一个的实例 package com.wang.mybatis; public class Emp

hu360983的博客 176

41-dify案例分享-基于database插件实现Text2sql的数据库查询图表工作流

本文介绍基于 Text2SQL 的 Dify 工作流实现过程。先阐述 Text2SQL 概念、步骤及应用领域。接着说明工作流制作,包括用 chatflow 加开场白、获取系统时间,配置 LLM 生成 SQL,用 SQL Execute 工具查询,经 LLM 汇总结果,代码生成 ECharts 数据,条件分支判断图表类型输出。最后介绍验证测试、提供体验地址,还提及借助工具生成建表和初始化数据 SQL 语句。

个人技术 1万+

费雪的未来增长评估:预测颠覆性技术的影响

本文旨在提供一个系统性的框架,用于评估和预测颠覆性技术的增长轨迹。我们将重点关注费雪增长模型(Fisher-Pry Model)这一经典技术扩散理论,探讨其在现代技术预测中的应用价值。文章首先介绍费雪增长模型的基本概念,然后深入其数学原理和算法实现。随后展示实际应用案例,讨论工具资源,最后探讨未来发展趋势。每个部分都包含详细的技术实现和理论分析。费雪增长模型(Fisher-Pry Model):一种描述技术替代过程的S型增长模型,用于预测新技术取代旧技术的速率。

欢迎来到我的优快云空间!这里聚焦AI大模型应用实战,分享前沿技术、实战案例与开发经验。 928

Mybatis实战 之 Hello Mybatis(一)

Mybatis实战 之 Hello Mybatis(一)本类型章节开始,我们将踏上学习Mybatis 的旅程。学习本系列课程需要一定的Mybatis/Hibernate/JPA等持久层框架应用的基础。概述 Mybatis IntroductionMyBatis is a first class persistence framework with support for custom SQL, st

Dusty丶one的博客 292

闲鱼爬虫实战:模拟手机端破解反爬策略,爬取指定商品搜索数据,爬取闲鱼搜索指定商品(需手机端模拟)o 技术点:抓包分析、cookie与token

技术点作用抓取手机 App 请求,分析 API 结构、Header、参数加密情况requestsPython 中最常用的 HTTP 库,用于发送模拟请求Session 对象自动管理 Cookie,保持会话User-Agent & 设备特征模拟手机型号、系统版本,绕过服务端检测闲鱼部分接口存在签名,需要逆向或复用有效 Token多线程/异步提高爬取效率(需节制,避免封 IP)解析 HTML 或 JSON 数据注意:闲鱼的接口加密程度中等偏上,部分接口存在动态签名(如x-signx-mini-wua。

2201_76125261的博客 712

Hello-MyBatis

title: Hello-MyBatis tag: JAVA 1.框架入门 2.What is MyBatis 3.Hello MyBatis 4.Dao 5.动态SQL 6.mybatis配置文件 7.PageHelper插件 文章目录1.框架入门1. 三层架构:2. 三层架构在项目中对应的包3. 三层中类之间的交互关系4. 三层架构对应的开发框架5. 框架是什么2.What is MyBatis1. MyBatis是什么2. MyBatis提供了哪些功能3.Hello MyBatis!1. 新建st.

爱吃小香葱的博客 230

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

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

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Mybatis快速入门之Hello World

MyBatis简介 MyBatis 是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录. MyBatis是一个半自动化的持久化层框架。 Mybatis优势 JDBC 1 SQL夹在Java代码块里,耦合...

liu289747235的专栏 231

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【MyBatis】hello world

将数据库中的数据查询出来,并展示在控制台。 具体步骤如下: (一)在数据库中建立表t_employee (二)创建一个组件,用于存放数据库中的数据 package com.atguigu.bean; /* * 用于封装表的数据 * */ public class Employee { private Integer id; private String empName; private String email; private Integer gender; publi

weixin_44917754的博客 206

Mybatis之hello world

一.搭建mybatis环境 需要mysql-connector-java-5.1.43-bin.jar,mybatis-3.4.5.jar 二.创建在mybatis_db数据库中创建中messages表,同时在项目中创建实体类message 三.创建mybatis核心配置文件(mybatis源码包中可以找到标准的mybatis核心配置文件) 主要包含配置加载驱动,链接数据库地址,数据库用户...

emiLing1997的博客 272

Hello mybatis

idea玩mybatis,终于搞出个hello mybatis。记录下过程,备忘。 很详细的一篇:SSM框架——详细整合教程(Spring+SpringMVC+MyBatis) 1、person表 CREATE TABLE `person` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) CH...

ann49988的博客 131

mybatis hello world

在当今这个世界什么最值钱,毫无疑问是数据。对于数据一般储存在数据库中,所以对于Java企业级开发,连接数据库就显得很重要了。对于J2EE规范中,JDBC(Java Data Base Connectivity,java数据库连接)相信大家不会陌生。而对于编写过JDBC的朋友,相信对于它冗余重复的操作会不胜其烦。而Mybatis而应运而生了。

carl.zhao的专栏 1389

Hello,Mybatis

Mybatis

qq_55741761的博客 230

hello_mybatis

4.mapper 接口 UserMapper。xml文件:UserMapper.xml。2.添加依赖 pom.xml。0.Mac 下载Mysql。

F13122298的博客 411

MyBatis 详细 hello world

3 月,跳不动了?>>> 目录 准备 SQL 脚本 ...

黑帽子技术的博客 265

mybatis 基础 ~ Hello World

搭建环境,Hello World示例,从Day表中进行基础的查询操作

Java博客 299

mybatis_hello初识mybatis

MyBatis初体验1.简介2.入门3.MyBatis工作原理4.例子4.1准备4.2创建一个Java工程4.3创建Java类4.4 xml文件4.5 配置文件4.6运行5.总结 1.简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来...

a18792721831的博客 482

SpringMVC + Spring + MyBatis框架搭建之Hello World

看链接

Eeeeearl的博客 269

hello-mybatis源码

前言 mybatis作为java开发必备的持久化层框架,以前还有hibernate与他平分秋色,近几年已经基本淘汰只剩mybatis了。了解mybatis内部运行原理对我们使用他有很大帮助。 核心组成类 配置类configuration sqlsessionfactory executor MapperProxy MappedStatement parameterHandler statementHandler parameterHandler resultSe...

冰魄神光 129

Hello Mybatis 04 使用spring-mybatis

顺着上一篇,这里介绍下spring-mybatis的配置。 我们使用mybatis去操作数据库的时候,每次都要不停地openSession,closeSession好烦躁哇~~这样工作哪里有效率可言!!!看看别人家框架的孩子从来都没有这些破事儿。   mybatis社区的人终于看不下去了,所以他们借助spring开发了犀利的mybatis-spring。我们都知道spring是一个非常著...

weixin_30537451的博客 104
上一篇: Hello, Spring5
下一篇: 【C指针】初识指针
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值