1:什么是MyBatis

  • MyBatis 是一款优秀的持久层框架

  • MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程

  • MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类映射成数据库中的记录。

  • 简化了JDBC的操作  

Mybatis官方文档 : http://www.mybatis.org/mybatis-3/zh/index.html  多看官方文档  

介绍一下Mybatis的优点:简单 上手难度小 解耦合 使用人数多

开始我们第一个Mybatis程序需要准备什么环境搭建

1:jdk8或以上- maven- idea- mysql

开始我的的第一步 :先准备数据库数据

开始我们的第二步:maven项目里面导入mysql依赖(我使用的是8.0以上的mysql) :

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

2:再导入mybatis依赖

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

3:第三步开始:编写MyBatis核心配置文件:(可以查看官方文档参考):

<configuration>
<properties resource="db.properties">
</properties>
<typeAliases>
<package name="com.kuang.jieko"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<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>
<mapper resource="com\kuang\day1\UserMapper.xml"></mapper>
</mappers>
</configuration>

因为我这边使用了roperties 来从外部导入的资源文件

资源文件:因为我是mysql8.0所以加了时区 8.0一下把去掉即可

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/luyunjie?useSSL=false&useUnicode=false&characterEncoding=UTF-8&serverTimezone=UTC
username=root
password=5825600

配置实体类和接口:我这边使用的是lombok工具所以可以不用重新构造方法 set get方法 toString方法

import lombok.Data;
@Data
public class User {
private int id;//这边的属性名字最好和数据库里面的数据名字一样
private String name;
private String pwd;

lombok工具:

 <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>

写一个工具类来简化操作:(因为看的狂神mybatis视频 所以工具类几乎一模一样 )

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 java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
//获取SqlSession连接
public static SqlSession getSession(){
return sqlSessionFactory.openSession();//这里可以填true 默认为false 这里可以设置自动提交事务
}
}

然后写接口方法:

public interface UserMapper {
//查询
List<User> getUserList();
}

最好在写接口的包中再写Mapper.xml配置文件 来执行mysql语句:

<?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">
<!--绑定对应的Dom-- 后面这个namespace绑定接口的地址>
<mapper namespace="com.kuang.day1.UserMapper">
<select id="getUserList" resultType="User">
select * from user
</select>
</mapper>

也可以使用注解来执行mysql语句:

public interface UserMapper {
@Select("select *from user")
List<User> getUserList();//但写不了复杂的sql语句
}

最后一步编写测试类:(我使用的是junit驱动 )

public class UserDaoTset {
@Test
public void test(){
SqlSession sqlSession= MybatisUtils.getSession();
UserMapper userDao=sqlSession.getMapper(UserMapper.class);
List<User> userList = userDao.getUserList();
for (User user : userList){
System.out.println(user);
}
sqlSession.close();
}
}

junit驱动:

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

java小白刚学mybatis 有些写的不好的地方多多包涵!

java框架Mybatis的第一个程序的更多相关文章

  1. java提前工作、第一个程序

    java提前工作 我们学习编程肯定会 运用到相应的软件 在这里 我个人推荐 eclipse.idea 这里的软件呢 都是用我们的java编程出来的,那它也需要用java来支持他的开发环境 这里就运用到 ...

  2. mybatis入门-第一个程序

    今天,我们就一起来完成mybatis的第一个小demo,使用mybatis对我们的数据库进行一个小小的操作. 需求 根据用户id查询用户的信息. 环境搭建 java环境:jdk1.7版本 开发工具:e ...

  3. java框架-Mybatis

    一.Mybatis介绍 mybatis是一个持久层的框架,是对JDBC操作数据库的封装,使开发者只需要关注业务本身,不需要花费精力去处理加载驱动.创建数据库连接对象.创建statement语句对象.参 ...

  4. mybatis的第一个程序

    程序结构图: 表结构: 创表sql: CREATE TABLE `users` (   `id` int(11) NOT NULL AUTO_INCREMENT,   `username` varch ...

  5. 【mybatis源码学习】调试mybatis的第一个程序

    [一].基础知识准备 mybatis-config.xml配置文件的结构 MyBatis配置文件中大标签configuration下子标签包括: configuration |--- properti ...

  6. java框架---->mybatis的使用(一)

    这里我们记录一些mybatis的一些常用知识和项目中遇到的问题总结.快乐人生的三个必要元素是,有要做的事.热爱的事及盼望的事. mybatis的一些知识 一.mybatis插入返回主键值 插入的jav ...

  7. Java框架-MyBatis三剑客之MyBatis Generator(mybatis-generator MBG插件)详解

    生成器设计思路: 连接数据库 -> 获取表结构 -> 生成文件 1 下载与安装 官网文档入口 最方便的 maven 插件使用方式 贴至pom 文件 2 新建配置文件 填充配置信息(官网示例 ...

  8. 流行的9个Java框架介绍: 优点、缺点等等

    流行的9个Java框架介绍: 优点.缺点等等 在 2018年,Java仍然是世界上最流行的编程语言.它拥有一个巨大的生态系统,在全世界有超过900万Java开发人员.虽然Java不是最直接的语言,但是 ...

  9. 第一个基础框架 — mybatis框架 — 更新完毕

    1.Mybatis是什么? 百度百科一手 提取一下重点: MyBatis 本是apache的一个开源项目iBatis.即:mybatis的原名为:ibatis 2010年迁移到google code, ...

  10. Java数据持久层框架 MyBatis之背景知识二

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

随机推荐

  1. Python爬虫-IP隐藏技术与代理爬取

    在进行爬虫程序开发和运行时,常常会遇到目标网站的反爬虫机制,最常见的就是IP封禁,这时需要使用IP隐藏技术和代理爬取. 一.IP隐藏技术 IP隐藏技术,即伪装IP地址,使得爬虫请求的IP地址不被目标网 ...

  2. ​python爬虫——爬取天气预报信息

    在本文中,我们将学习如何使用代理IP爬取天气预报信息.我们将使用 Python 编写程序,并使用 requests 和 BeautifulSoup 库来获取和解析 HTML.此外,我们还将使用代理服务 ...

  3. Nacos启动报错:Please set the JAVA_HOME variable in your environment, We need java(x64) jdk8 or later

    可能原因: 1.JDK版本过低(应不低于1.8) 2.未设置jdk环境变量(可能性低) 3.jdk环境变量设置不适配nacos(博主就是这个原因) 解决方案: 1.直接在startup.cmd文件中设 ...

  4. oracle 12C提示:ORA-28001口令已经失效

    oracle 12C 提示口令已经失效,此用户是pdb用户,解决办法:1 系统管理员身份登陆 sqlplus / as sysdba 2 转到对应的pdb容器中 alter session set c ...

  5. Python面试——基础面试题

    文章目录 1.Python 和 Java.PHP.C.C#.C++等其他语言的对比? C语言既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C ...

  6. matlab启动时的路径警告

    前段时间在做HDLCoder时为方便修改设置加了一条路径在搜索路径目录,后来把路径名称修改了,文件夹也删掉了,换句话说就是路径不存在了,然后在matlab的setpath对话框里边也把该目录删除了. ...

  7. Makefile 入门教程

    Makefile 是一个非常强大的构建自动化工具,用于管理项目的编译.链接和其他构建任务.以下是一个详细的 Makefile 使用文档,包括基本概念.语法.示例和常见任务. 1. 基本概念 目标 (T ...

  8. jmeter的基本功能使用

    jmeter安装配置 1.可以参考教程:https://blog.csdn.net/lfmsky1/article/details/88631190 jmeter简单基础使用步骤 (1)添加线程组 ( ...

  9. 实战0-1,Java开发者也能看懂的大模型应用开发实践!!!

    前言 在前几天的文章<续写AI技术新篇,融汇工程化实践>中,我分享说在RAG领域,很多都是工程上的实践,做AI大模型应用的开发其实Java也能写,那么本文就一个Java开发者的立场,构建实 ...

  10. linux 查找命令(whatis,free,df,top)

    whatis whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上,等同于 man -f: # whatis grep grep (1) - print lines matchin ...