首页 > 其他分享 >Mybatis学习笔记

Mybatis学习笔记

时间:2024-03-06 17:47:18浏览次数:13  
标签:xml java 创建 笔记 学习 mybatis Mybatis com

Mybatis代码

Mybatis入门

https://mybatis.net.cn/getting-started.html

写一个Mybatis项目
1、新建一个Maven项目
2、导入依赖集
    <!--  导入依赖  -->
    <dependencies>
        <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>

3、创建模块,配置mybatis核心文件mybatis-config.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核心配置文件-->
<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://localhost:3306/mybatis?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>

    <!--  每一个Mapper.xml都需要在mybatis核心配置文件中注册!  -->
    <mappers>
        <mapper resource="com/github/subei/dao/UserMapper.xml"/>
    </mappers>

</configuration>

连接了数据库,创建对象类(pojo)

创建Dao层(业务逻辑操作)接口

创建一个userDao

package com.github.dao;

import com.github.pojo.User;

import java.util.List;

public interface UserDao {
    List<User> getUserList();
}

接下来继承这个接口

<?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=绑定一个对应的Dao/Mapper接口 -->
<mapper namespace="com.github.subei.dao.UserDao">

    <!--select查询语句-->
    <select id="getUserList" resultType="com.github.subei.pojo.User">
        select * from mybatis.user;
    </select>

</mapper>

报错问题

1、Error creating document instance. Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

解决方法:在settings中找到file encoding 将字符集设置为utf-8

2、java.lang.ExceptionInInitializerError at com.kuang.dao.UserDaoTest.test(UserDaoTest.java:15)

在所有xml代码中添加一下代码

<!--在build中配置resources,来防止我们资源导出失败的问题-->
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

注意事项:

1、在mybatis-config.xml中,需要对创建的xml(这里的xml文件不在resource中)注册

标签:xml,java,创建,笔记,学习,mybatis,Mybatis,com
From: https://www.cnblogs.com/bredy/p/18057149

相关文章

  • pandas笔记(二)-- 从不订购的顾客 (数据表连接,主键与外键)
    题目描述找出所有从不点任何东西的顾客,以任意顺序返回结果测试用例输入Customerstable:idname1Joe2Henry3Sam4MaxOrderstable:idcustomerId1321输出CustomersHenryMax解析数据表连接的问题核心在于连接......
  • 数位DP 学习笔记
    什么是数位DP数位dp是与数字相关的一类计数问题。这这类问题中,一般给定一些限制条件,求满足第\(K\)小的数是多少,或者求区间\([L,R]\)内有多少个满足条件的数。本文主要讲述如何解决求区间\([L,R]\)内有多少个满足条件的数这一类问题。为什么要用数位dp对于上述问题,如果......
  • 【SpringCloud】学习总结
    学习总结SpringCloud底层原理[详见链接]https://blog.csdn.net/Anbang713/article/details/85370080最后再来总结一下,上述几个SpringCloud核心组件,在微服务架构中,分别扮演的角色:Eureka:各个服务启动时,EurekaClient都会将服务注册到EurekaServer,并且EurekaClient还可......
  • SimGRACE论文阅读笔记
    Abstract​ 图对比学习(GCL)已经成为图表示学习的一种主导技术,它最大限度地提高了共享相同语义的成对图增强之间的互信息。不幸的是,由于图数据的多样性,在扩充过程中很难很好地保存语义。目前,GCL的数据扩充大致可分为三种不令人满意的方式。第一,可以通过试错法手动选择每个数据集的......
  • Linux学习
    Linux学习基础知识远程登录linux命令ssh登录用户@用户名sshroot@clone11.创建文件夹目录mkdir-pLinux路径(makedirectory)-p:表示递归创建2.删除文件夹目录rmdir-pLinux路径3.创建文件touchLinux路径4.查看文件内容1.cat-nLinux路径-n:显示行号2.t......
  • 机器学习基础-线性回归,逻辑回归,SVM
    回归给定数据,回归就是用一个方程尽可能地拟合数据点的分布;线性回归假设数据中\(y\)与\(x\)呈线性关系;给定,线性回归就是要找一条线/面,并且让这条直线尽可能地拟合数据点的分布;二元线性回归:$\hat{y}=ax_1+bx_2+c$去拟合数据解法:最小二乘;$loss=\sum{(y_i-\hat{y_i}......
  • pandas笔记(一)-- 大的国家(逻辑索引、切片)
    题目描述如果一个国家满足下述两个条件之一,则认为该国是大国:面积至少为300万平方公里人口至少为2500万编写解决方案找出大国的国家名称、人口和面积按任意顺序返回结果表,如下例所示测试用例输入:namecontinentareapopulationgdpAfghanistanAsia65223......
  • Java学习笔记——第七天
    面向对象编程(ObjectOrientedProgramming,OOP)基础面向过程编程开发一个一个的方法,有数据要处理了,我们就调方法来处理。此时程序类似于流水线,按照代码自上而下依次运行。面向对象编程开发一个一个的对象来处理数据,把数据交给对象,再调用对象的方法来完成对数据的处理。程序在对......
  • 2024-03-06 NestJs学习日志之跨域
    新建一个跨域中间件(如:cors.middleware.ts),并把它导入到项目根目录的app.modules.ts里面使用。中间件代码如下:import{Injectable,NestMiddleware}from"@nestjs/common";@Injectable()//跨域中间件exportclassCorsMiddlewareimplementsNestMiddleware{use(r......
  • 小白从零开始学习编程 day1
    1.什么是编程语言编程语言是用于计算机与人沟通的介质2.什么是编程使用编程语言编写出一系列文件3.为什么进行编程通过奴役计算机,解放劳动力4.计算机的五大组成部分1.CPU(1)控制器:用于控制硬件(2)运算器:进行逻辑运算和算数运算2.内存(1)运行速度快(2)断电即......