Mybatis入门让程序跑起来

MyBatis入门指南:从零开始构建你的第一个MyBatis应用程序 通过以上十个步骤,你已经成功构建了你的第一个MyBatis应用程序。从创建Maven项目、添加依赖、配置MyBatis、创建实体类和Mapper接口,到编写测试代码,每一步都清晰明了。希望这篇文章能帮助你快速上手MyBatis,并在实际开发中灵活运用。 阅读详情

mybaitis中文文档

mybatis其实就是为了简化我们在项目中的sql语句,学到这里的小伙伴们,肯定对JDBC这个概念有所了解,应该也上手写过那些代码,是不是能感觉到那样写超级麻烦。现在你不用烦恼了,因为出现了一个强大的工具来解决它,这个工具就是mybatis。

首先说一下我用的环境是:MySQL8.0.22、JDK8、maven3.8.1、编辑器是IDEA

项目的整体结构

在这里插入图片描述

mapper:UserMapper就是写的各种操作的接口,而UserMapper.xml这个配置文件,写的就是需要实现接口对应的sql语句。

pojo:主要写各种实体类,User就是数据库中use表的实体类

utlis:MybatisUtils就是把resources目录里边的mybatis-config.xml加载进来

resources:顾名思义就是各种资源

test:就是一个测试目录

pom.xml文件的配置

 <dependencies>
	  <!--mysql驱动-->
	<dependency>
	   <groupId>mysql</groupId>
	   <artifactId>mysql-connector-java</artifactId>
	   <version>8.0.22</version>
	</dependency>
	<!-- myBatis依赖-->
	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.5.2</version>
	</dependency>
 </dependencies>
 <!--maven中存在约定大于配置,设置让他能够加载src/main/java下的.xml和.properties文件-->
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

创建数据库

创建数据库

create database mybatis;

使用数据库

use mybatis;

创建user表

CREATE TABLE `user` (
  `id` int NOT NULL,
  `name` varchar(30) DEFAULT NULL,
  `password` varchar(25) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据

INSERT INTO `user` VALUES ('1', '张三', 'zhangsan');
INSERT INTO `user` VALUES ('2', '李四', 'lisi');
INSERT INTO `user` VALUES ('3', '王五', 'wangwu');
INSERT INTO `user` VALUES ('4', '熊二', 'yongGanNiuNiuBuPaKunNan');
INSERT INTO `user` VALUES ('5', '大狗熊', 'dagouxong');
INSERT INTO `user` VALUES ('6', '灰太狼', 'HuiTaiLang');

连接数据库

这是配置到mybatis-config.xml这个文件中了,主要需要配置driver、url、username、password这四个属性。

解释一个东西&amp;等价于&

<?xml version="1.0" encoding="utf8" ?>
<!DOCTYPE configuration
        PUBLIC "-//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.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

</configuration>

创建实体类

这个实体类里边的属性要对应数据库中的字段

package com.zkw.pojo;

public class User {
    private int id;
    private String name;
    private String password;

    public User() {
    }

    public User(int id, String name, String password) {
        this.id = id;
        this.name = name;
        this.password = password;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

创建dao层

UserMapper里边主要写的就是,需要实现那些功能的接口。

package com.zkw.mapper;

import com.zkw.pojo.User;

public interface UserMapper {

    //查询全部用户
    List<User> getUserList();
}

配置UserMapper.xm实现对数据库的操作

对于parameterType传入的参数类型建议去看一下mybatis的中文文档。

<?xml version="1.0" encoding="utf8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--dao层 namespace="表示这个mapper.xml是操作数据库中的那张表"-->
<mapper namespace="com.zkw.mapper.UserMapper">

    <!--id是dao层中的方法 resultType 是结果集返回的类型 parameterType 是传递参数的类型-->
    <select id="getUserList" resultType="com.zkw.pojo.User">
        select * from  user
     </select>

</mapper>

把UserMapper.xml映射到mybatis-config.xml配置文件中以此来实现和数据库的连接

<?xml version="1.0" encoding="utf8" ?>
<!DOCTYPE configuration
        PUBLIC "-//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.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!--添加dao层的配置文件-->
    <mappers>
        <mapper resource="com\zkw\mapper\UserMapper.xml"/>
    </mappers>
</configuration>

创建SqlSessionFactory

package com.zkw.utils;

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 {
            //获取SqlSessionFactory对象
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //SqlSession 提供了在数据库执行 SQL 命令所需的所有方法。
    //你可以通过 SqlSession 实例来直接执行已映射的 SQL 语句。
    public static SqlSession geSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

测试

在test这个下边创建一个UserMapperTest.java放在com.zkw.mapper下

package com.zkw.mapper;

import com.zkw.pojo.User;
import com.zkw.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserMapperTest {
    //查询所有的账户信息
   @Test
    public void testSelect(){
       SqlSession sqlSession = MybatisUtils.geSqlSession();
        //获得dao层的接口
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userList = mapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }
}

结果

在这里插入图片描述

演示在加一条sql语句

现在dao层添加一个接口

package com.zkw.mapper;

import com.zkw.pojo.User;

public interface UserMapper {

    //查询全部用户
    List<User> getUserList();
     //增加用户
    void addUser(User user);
}

配置xml文件

<?xml version="1.0" encoding="utf8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--dao层 namespace="表示这个mapper.xml是操作数据库中的那张表"-->
<mapper namespace="com.zkw.mapper.UserMapper">

    <!--id是dao层中的方法 resultType 是结果集返回的类型 parameterType 是传递参数的类型-->
    <select id="getUserList" resultType="com.zkw.pojo.User">
        select * from  user
     </select>
    
        <!--添加用户-->
    <insert id="addUser" parameterType="com.zkw.pojo.User">
         insert into user(id, name, password) values (#{id},#{name},#{password})
    </insert>

</mapper>

测试

package com.zkw.mapper;

import com.zkw.pojo.User;
import com.zkw.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class UserMapperTest {
    //查询所有的账户信息
   @Test
    public void testSelect(){
       SqlSession sqlSession = MybatisUtils.geSqlSession();
        //获得dao层的接口
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        /*List<User> userList = mapper.getUserList();
        for (User user : userList) {
            System.out.println(user);
        }*/
        mapper.addUser(new User(7,"笑笑","xiaoxiao"));
        sqlSession.commit();
        sqlSession.close();
    }
}

sqlSession.commit();是提交事务,因为在mybatis中默认是开启事务的,因此对数据库进行增、删、改时都需要提交事务。


结果

在这里插入图片描述

LLC同步整流实战:从驱动时序到调试仿真,效率提升与避坑指南 同步整流技术是提升开关电源效率的关键手段,尤其在LLC谐振变换器中,通过低导通电阻MOSFET替代二极管可显著降低副边整流损耗。然而,驱动时序、电流过零检测及轻载模式切换是工程实践中的核心难点。从Vds检测原理到死区调节,再到仿真与实测验证,工程师需掌握完整的调试方法论。该技术广泛应用于通信电源、服务器电源及车载DC/DC,合理设计LLC同步整流方案能实现满载效率提升约1.8个百分点,同时优化热分布。本文以600W半桥LLC样机为线索,深入分析工作模态、驱动芯片选型、波形判断与仿真模型搭建,为电源设计提供可 阅读详情

相关推荐

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

《Linux运维总结:Ubuntu22.04忘记root密码解决方案》

东城绝神 4460

mybatis从入门到精通(刘增辉著)-读书笔记第一章

前言: 本读书笔记共11章节 本版本采用idea编写,不采用作者书中所说的eclipse jdk8 maven3.6.1 mysql5.7 1、idea新建maven项目,配置pom.xml <?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

qq_38132995的博客 396

攀藤PMS系列传感器STM32驱动开发与数据解析实战

本文详细介绍了攀藤PMS系列传感器与STM32微控制器的驱动开发与数据解析实战,涵盖硬件连接、数据协议解析、驱动源码编写及数据处理优化。重点解析了传感器数据帧结构,提供了完整的STM32驱动实现代码,并分享了实际应用中的问题排查与性能优化经验,帮助开发者快速实现高精度颗粒物浓度检测。

milk8的博客 348

MyBatis详解(一):入门程序

一、对原生态jdbc程序中问题总结1.1、原始jdbc程序步骤:(1) 注册驱动JDBC类库向DriverManager注册数据库驱动·(2)建立连接(url、username、password)使用DriverManager提供的getConnection()方法连接到数据库(3)创建SQL语句,获取语句执行对象编写SQL语句,并建立SQL语句执行对象(4)执行语句执行SQL语句,并将结果集合返回到ResultSet中(5)处理结果(6)释放资源(注意关闭的顺序)

2501_90472645的博客 1848

【通信协议】I2C总线(一主多从)

I2C总线(一主多从)之软件模拟代码详解

m0_75090944的博客 9841

第21章—技术管理篇(上):身为技术人该怎样带好团队并做好管理者

上节讲了职业规划和学习提升这两个话题,随着职业规划的不断落地,或者自己能力的不断提升,大家也会逐渐被提拔成“职级更高”的人。企业规模扩张时,员工数量也会变多,意味着Boss需要更多的人来辅助管理,而管理者会从外部招聘吗?也许会,但大多企业更喜欢从内部选拔,毕竟人的天性更希望找的人值得信赖。此时,一些能力不错、做事靠谱的老员工,就会被“赶上”管理者的位子。作管理不难,但想要“”就需要一定情商。

运维老生常谈 1366

【MyBatis】入门程序

详解编写mybatis入门程序的主要步骤,以及junit、logback和工具类 SqlSessionUtil 的封装

August_._的博客 1183

【大数据技术干货】(还不懂数仓,数据中心?看这一篇就够了!)在实际的开发生产中,让你了解企业级数据中心整体架构(DB+ETL+ODS+DW+DM)的各个层次的过程详解,数据联系及功能区分

一 企业级数据中心架构 数据仓库的整体架构,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成DW(数据仓库),DM是针对某一个业务领域建立模型,具体用户(决策层)查看DM生成的报表。 二 DB 三 ETL(Extract-Transform-Load) ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。 ETL是BI项目重要的一个环节。 通常情况下,在BI项目中ET

liuchunhang的博客 1289

MyBatis入门让它跑起来

目录 环境说明 创建Maven项目 创建数据库表 创建实体类 配置jar包坐标 连接数据库 创建dao层接口 创建dao层接口的配置文件 建立dao层与数据库的联系 创建SqlSession工厂 创建SqlSession实例测试 环境说明 在讲解MyBatis之前,首先说一下JDBC,我相信你一定不陌生吧,JDBC就是用来对数据库进行增删改查操作的,依然记得那些...

1531

CKS-CN考试之路----03

这题不需要去生成image和生成deployment所以只需要去检测对应的值即可。编辑/cks/docker/Dockerfile,修改最后第二行的值。编辑/cks/docker/deployment.yaml。

Q先生 824

【Leetcode】269.火星词典(Hard)

应用拓扑排序

明朗晨光的专栏 771

Mybatis 配置Mybatis 二、MyBatis的入门程序

6.编写主配置文件,在resources目录下创建SqlMapConfig.xml的配置文件(其实名称可以任意),导入对应的约束,编写主配置文件。编写UserMapper.xml的配置文件,导入约束文件。引入log4j的jar包,1.2.12版本(需要引入log4j.properties的配置文件)4.编写UserMapper的接口和方法(就是咱们以前的UserDao接口)3.编写User的实现类,属性尽量使用包装类型,具体的代码如下。引入MyBatis的3.4.5的版本的坐标。

best_virtuoso的博客 1029

遥感影像建筑物变化检测

遥感影像建筑物变化检测

yilvyangguang520的博客 423

mybatis入门之跑起来

什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。前身是ibatis。 MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。 MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。 第一个mybatis程序 下图是整个结构,类、xml等所在的位置。 准备工作 大致流程 (1)创建数据库

java知识整理 718

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

MyBatis学习笔记——04MyBatis入门程序

MyBatis学习笔记——04MyBatis入门程序 要想学好mybatis必须掌握好其入门程序掌握好它的增,删,改,查 代码里注释解释巨细无比不懂请留言 1.首先我们来了解一下mybatis的入门程序的架构 1.两个jar包 mybaits核心包 mysql驱动包 2.config目录 **sqlmap:用来保存mapper文件 如User.xml(userdb映射文件) <?xm...

qq_40163148的博客 326

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

跟着老杜学MyBatis+第2天+MyBatis入门程序

注意2:CarMapper.xml文件的名字不是固定的。可以使用其它名字。注意3:CarMapper.xml文件的位置也是随意的。这里选择放在resources根下,相当于放到了类的根路径下。注意4:将CarMapper.xml文件路径配置到mybatis-config.xml:

少年一贯快马扬帆,道阻且长不转弯; 要盛大,要绚烂,要哗然; 要用理想的泰坦尼克,去撞现实的冰川; 要当烧赤壁的风,而非借鉴草船; 要为了一片海,就肯翻万山。 1561

Mybatis (入门程序)

在pom.xml文件中依赖org.springframework.boot、org.mybatis.spring.boot的版本分别修改为:2.7.5、2.2.2修改以及的版本改为自己java版本。注意:2023年版本的idea这里java的版本最低是17,若你JDK版本不是17,可以将java的版本调到最高兼容,后面在设置和里面进行调配。二:在实体类中创建上面Mysql中User表以每个字段为一个属性,并生成对应的set/get/无参、全参构造/toString方法。

weixin_68576312的博客 1288

MyBatis---框架概述、入门程序

MyBatis是一个优秀的基于Java的持久层框架,内部对JDBC做了封装,使开发者只需要关注SQL语句,而不用关注JDBC的代码,使开发变得更加的简单。MyBatis通过XML或者注解的方式将要执行的各种Statement对象配置起来,通过Java对象和statement中SQL的动态参数进行映射,并最终执行SQL语句。执行SQL后,最终将结果已Java对象返回。采用了ORM的思想。ORM思想。

jlihan的博客 1005

MyBatis 简介及入门程序

简单介绍 MyBatis 相关概念 和 入门程序,包括使用 xml 映射文件、注解、接口实现类等三种方式的使用,前两种方式要求掌握,第三种方式作为了解。

Jacks丶的博客 7047

Mybatis | Mybatis的“入门程序“

Mybatis的入门程序 一、查询数据 根据表 “主键id” 查询数据 模糊查询 二、添加数据 三、更新数据 四、删除数据 .....

m0_70720417的博客 1116

MyBatis——IDEA中使用Maven搭建MyBatis框架,让它跑起来(入门)

MyBatis——IDEA中使用Maven搭建MyBatis框架,让它跑起来(入门)

贝尔摩德苦艾酒 1万+

MyBatis第二章-MyBatis入门程序

使用MyBatis编写第一个入门程序,知道SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession三者的关系。编写了MyBatis工具类SqlSessionUtil,使用工具类进行数据的添加。使用日志框架logback,可以让我们清楚的了解到了沙拉风等日志框架。

chuyu的博客 833

【黑马程序员】MyBatis 快速入门

跟着B站的黑马程序员学习 MyBatis 快速入门黑马程序员——MyBatis 快速入门Mybatis代码链接:https://pan.baidu.com/s/1K5BqlQwLPpum3NuuY89ccQ?pwd=6nrd提取码:6nrdMyBatis 是一款优秀的持久层框架,用于简化 JDBC 开发。

weixin_54533016的博客 3801

跟老杜从零学MyBatis框架【二】MyBatis入门程序

注意2:CarMapper.xml文件的名字不是固定的。可以使用其它名字。注意3:CarMapper.xml文件的位置也是随意的。这里选择放在resources根下,相当于放到了类的根路径下。注意4:将CarMapper.xml文件路径配置到mybatis-config.xml:

2301_76637874的博客 189

Mybatis快速入门

Mybatis快速入门

Gilpin30的博客 1174

MyBatis入门程序详解

MyBatis是一个基于Java的持久层框架,它内部封装了JDBC操作,使得开发人员可以更专注于SQL语句本身而非繁琐的JDBC操作细节。在MyBatis中,SQL语句可以被配置在XML文件中,或者通过注解方式进行。这种分离使得SQL语句更加模块化和可重用。MyBatis还支持动态SQL,允许开发者根据不同情况构建复杂的SQL语句,而无需编写大量的Java代码。

2302_77758423的博客 1395

编写测试代码让 MyBatis 跑起来

编写测试代码让 MyBatis 跑起来

爱的叹息的专栏 828
上一篇: java.io.IOException: Could not find resource db.properties
下一篇: Mybatis中处理多个参数的两种方法
鳳九~
博客等级 码龄8年 1384粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值