Mybatis框架快速入门

一、场景模拟

基于自定义Mybatis框架和已有的Mysql数据库Mybatis,查询所有用户信息。

二、创建工程并引入Mybatis框架的坐标

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.william</groupId><artifactId>TestFormalMybatisFramework</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.5</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.6</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency></dependencies>
</project>

三、创建domain

package com.william.domain;import Framework.domain.Mapper;import java.util.HashMap;
import java.util.Map;/*** @author :lijunxuan* @date :Created in 2019/7/9  16:54* @description :* @version: 1.0*/
public class User {private Integer id;private String username;private String password;private String sex;@Overridepublic String toString() {return "User{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +", sex='" + sex + '\'' +'}';}public Integer getId() {return id;}public void setId(Integer 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 String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}
}

四、创建Sql文件UserMapper.xml

加入mybatis的约束

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.william.dao.UserDao"><select id="findAll" resultType="com.william.domain.User">select * from user</select>
</mapper>

五、3.1.5 创建核心配置文件SqlMapConfig.xml

加入mybatis的约束,不加会报错

报错Cause: org.xml.sax.SAXParseException lineNumber: 2; columnNumber: 16; 文档根元素 "

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://127.0.0.1:3306/web02?characterEncoding=utf8" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments><mappers><mapper resource="com/william/mapper/UserMapper.xml"></mapper></mappers>
</configuration>    

六、3.1.6 测试

1.测试程序

package com.william;import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.InputStream;
import java.util.List;/*** @author :lijunxuan* @date :Created in 2019/7/9  17:05* @description :* @version: 1.0*/
public class TestFramework {@Testpublic void  test(){//获取核心配置文件的流对象InputStream inputStream = TestFramework.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml");//构建sqlSessionFactory对象SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//生产SqlSession对象SqlSession sqlSession = sqlSessionFactory.openSession();//调用selectList方法List list = sqlSession.selectList("com.william.dao.UserDao" + "." + "findAll");for (Object o : list) {System.out.println(o);}//释放资源sqlSession.close();}
}

2.测试效果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oidc_使用Java EE和OIDC构建Java REST API

oidc“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 Java EE允许您使用JAX-RS和JPA快速轻松地构建Java REST API。 Java EE是保护伞标…

Mybatis实现CRUD操作

项目实现的功能 查询所有用户信息 通过Id查询用户信息 添加用户&#xff08;回显主键&#xff09; 修改用户信息 删除用户信息 通过用户名字模糊查询 一、引入依赖和工程结构 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http…

Linux系统下MySQL的导出数据语句SELECT … INTO OUTFILE的用法

文章目录关于参数 secure_file_priv按默认参数设定导出表数据到文本文件中自定义分隔符&#xff0c;将表数据导出到 txt 文件中自定义分隔符&#xff0c;将表数据导出到 csv 文件中导出数据时&#xff0c;提示“拒绝访问”总结确保 Linux 用户 mysql 对导出的目标目录拥有写入和…

java cxf_拥抱模块化Java平台:Java 10上的Apache CXF

java cxfJava 9版本终于将Project Jigsaw交付给大众已经过去了一年的时间。 这是一段漫长的旅程&#xff0c;但是在那里&#xff0c;所以发生了什么变化&#xff1f; 这是一个很好的问题&#xff0c;答案并不明显和直接。 总的来说&#xff0c; 拼图项目是一种颠覆性的变化&am…

MySQL数据字典

数据字典就类似于系统编目或花名册&#xff0c;它保存数据库服务器上的元数据信息&#xff08;数据库的整体属性信息&#xff09;。 元数据信息包括&#xff1a;数据库的属性信息、数据表的属性信息、字段的属性信息、视图的属性信息、用户信息、统计类信息等。 MySQL 保存元…

Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项

Mybatis映射文件SQL语句模糊查询 1. “%”#{value}"%" 在参数中不需要添加 %_ 推荐使用 2. ‘%${value}%’ 在参数中不需要添加 %_ 3. #{abc} 在参数中添加 %_ #和$的区别和注意事项 ${}直接拼接 &#xff0c;不会转换类型 如果是简单类型&#xff0c;必须写${…

启动php-fpm服务器_无服务器冷启动不是问题-这就是为什么(对于大多数应用程序)...

启动php-fpm服务器从无服务器开始时&#xff0c;您很快就会学习/听到有关函数冷启动的信息&#xff08;我相信无服务器云功能 API &#xff09;。 首次调用云功能时或长时间不调用后会发生冷启动。 基本上&#xff0c;服务器&#xff08;是的&#xff0c;有服务器&#xff01;&…

声明定义存储过程或者函数时,其中的 delimiter 关键字是干嘛的呢?

我们写 SQL 的时候&#xff0c;MySQL 怎么判断 SQL 是否已经结束了&#xff0c;可以去执行了&#xff1f; 需要一个结束符&#xff0c;当 MySQL 看到这个结束符的时候&#xff0c;表示可以执行前面的语句了&#xff0c;MySQL 默认以分号为结束符。 当我们创建存储过程或者自定…

istio api_Istio的网络API解释了

istio apiIstio 1.0版附带一个网络API&#xff0c;该API包含许多功能并涵盖了各种场景。 联网API在最近几个月中得到了发展&#xff0c;并且可能不会立即说明。 该API的概念和构建块是什么&#xff0c;以及如何使用各个Istio资源类型来通过我们的服务网格路由流量&#xff1f; …

MySQL命令之mysqldump的选项详解

文章目录--opt--skip-opt--add-drop-table--add-locks--skip-add-locks--allow-keywords--all-databases,-A--comments--skip-comments--compact--complete-insert,-c--compress,-C--events,-E--compatible--skip-disable-keys,-K--skip-add-drop-table--quick,-q--skip-quick-…

网关限流(令牌桶算法)

一、需求&#xff1a; 每个ip地址1秒内只能发送1次请求&#xff0c;多出来的请求返回429错误。 二、引入依赖 spring cloud gateway 默认使用redis的RateLimter限流算法来实现。所以我们要使用首先需要引入redis的依赖 <!--redis--> <dependency><groupId&g…

openapi_MicroProfile OpenAPI上的Swagger UI

openapiMicroProfile OpenApi为我们提供了一种使用OpenApi 3描述我们JAX-RS API的标准化方法。如果您以前使用过swagger-jaxrs和swagger- 批注 &#xff0c;由于OpenApi是基于Swagger构建的&#xff0c;因此您会感到非常熟悉。 2015年11月5日&#xff0c;SmartBear与3Scale&am…

MySQL的用户表(user)

文章目录字段 host 中的特殊值介绍user 字段中的特殊值介绍我们查看下这张表的字段 host 和 user&#xff0c;如下所示&#xff1a; mysql> select host,user from user; ----------------------------- | host | user | ----------------------------- |…

BCrypt管理员登录密码验证

一、简单入门测试 BCrypt不支持反运算&#xff0c;只支持密码校验 package com.william.test;import org.springframework.security.crypto.bcrypt.BCrypt;/*** author &#xff1a;lijunxuan* date &#xff1a;Created in 2019/7/11 11:34* description &#xff1a;* ver…

通用数据库管理工具_了解为什么这个直观的工具是您团队的通用团队管理工具...

通用数据库管理工具每个项目管理工具都试图做同样的工具性工作&#xff1a;保持团队联系&#xff0c;按任务执行和按时完成重大计划。 但是市场变得非常拥挤&#xff0c;并且有充分的理由-没有平台似乎对人们需要看到的东西以及应该如何显示这些信息具有正确的感觉&#xff0c;…

MySQL查询结果纵向输出标识符\G

\G 这个 G 是 group 的首字母&#xff0c;表示每行记录分组显示。 默认情况下&#xff0c;表数据的查询结果是横向输出的&#xff0c;如下所示&#xff1a; mysql> select * from student; ----------------------------------------------------------------------------…

用jackson转json_用Jackson编写大JSON文件

用jackson转json有时您需要将大量数据导出到JSON到文件中。 也许是“将所有数据导出到JSON”&#xff0c;或者是GDPR“可移植性的权利”&#xff0c;您实际上需要这样做。 与任何大型数据集一样&#xff0c;您不能只将其全部容纳在内存中并将其写入文件。 这需要一段时间&…

JWT 实现微服务鉴权

一、JWT JSON Web Token&#xff08;JWT&#xff09;是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。 一个JWT实际上就是一个字符串&#xff0c;它由三部分组成&#xff0c;头部、载荷与签名。 头部&#xff08;Header&#xff09; 头…

MySQL查看数据库系统正在运行的进程

在 MySQL 5.6 以前&#xff0c;我们通过 show processlist 命令查看系统中正在运行的所有进程&#xff1a; mysql> show processlist; ------------------------------------------------------------------------------------------------ | Id | User | Host …

oauth2.0授权码_OAUTH 2.0授权码授予

oauth2.0授权码OAuth 2.0提供了许多安全流程&#xff08;或授权类型&#xff09;&#xff0c;以允许一个应用程序访问另一个应用程序中的用户数据。 在此博客中&#xff0c;我们将介绍OAuth 2.0授权&#xff1a;授权代码授权。 首先&#xff0c;有许多定义&#xff1a; 客户…