首页 > 其他分享 >25.再次整理mybatis坑

25.再次整理mybatis坑

时间:2024-04-12 09:44:17浏览次数:32  
标签:25 name mapper 整理 user mysql mybatis id

前面就没有整理好mybatis 也是因为跳过这个直接去学的springboot
也导致没有更深层次理解 也是逢坑踩坑
一下我maven版本为2.2.5.RELEASE

1 导入mybatis和mysql驱动依赖

如果mybatis加载不出来降低版本
参考:https://blog.csdn.net/S852509769/article/details/134456125
    <!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.33</version>
        </dependency>

2. 写出死步骤properties(yaml)配置

其中密码和用户名为电脑上mysql对应的密码和用户名
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名字?serverTimezone=GMT&2B8&userUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

这里坑坑坑:
对于SpringBoot项目来说,classpath指的是src.main.java和src.main.resources路径以及第三方jar包的根路径,存放在这两个路径下的文件,都可以通过classpath作为相对路径来引用

第一个为你实体类的地方 一般都是在包下建的 所有为 包名.entity(或pojo)
mybatis.type-aliases-package=包名.entity

mapper文件的映射 你写的xml文件的位置:
如果你再resource下建的mapper 然后放在里面的xml则为以下
如果是在其他地方必须改变路径位置
mybatis.mapper-locations=classpath:mapper/*.xml

3.然后是实体类的编写(entity pojo 建立的类首字母大写)

使用到lombok简化
还有就是 字段和和你数据表对应


4.编写mapper映射(一般又有service层)

举个例子:
@Mapper  表明此为映射文件
@Repository 注解修饰哪个类表明这个类具有对数据库CRUD的功能
public interface User {
简单的增删改查 User即为entity层
  List<User> query();
    User queryByid(int id);
    int add(User user);
    int update(User user);
    int delete(int id);
}
implements继承自一个mapper映射文件 实现接口方法
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    UserMapper userMapper; mapper映射文件
    @Override
    public User query(String name) {
        return userMapper.query(name);
    }
}


5.注意 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为你mapper映射文件的路径 也就是4在的位置
<mapper namespace="包名.mapper.UserMapper">

id对应的是你mapper中写的方法名字
    <select id="query" resultType="User">
    select *from user ;
    </select>

    <select id="queryByid" resultType="User">
    select *from user where id=#{id} ;
    </select>

    <insert id="add" parameterType="User">
    insert into user(id,name,pwd) values(#{id},#{name},#{pwd})
    </insert>

    <update id="update" parameterType="User">
        update user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>

    <delete id="delete" parameterType="int">
        delete from user where id=#{id}
    </delete>
</mapper>

6.最好测试一下

在test 中的.java中 测试一下你的springboot和mybatis是否成功

@SpringBootTest
class DemoApplicationTests {
    //测试
    @Autowired
     Mapper映射

    @Test
    void contextLoads() {
        System.out.println(mapper.query("高远"));
    }

}

这次应该比上次更加清晰明了

标签:25,name,mapper,整理,user,mysql,mybatis,id
From: https://www.cnblogs.com/gaodiyuanjin/p/18130453

相关文章

  • 52 Things: Number 25: Methods for modular reduction using "special" primes that
    52Things:Number25:Methodsformodularreductionusing"special"primesthatdefine GF(p) and GF(2n)52件事:第25件:使用定义 GF(p) 和#1的“特殊”素数进行模归约的方法# Thisisthelatestinaseriesofblogpoststoaddressthelistof '52ThingsEver......
  • JZ25合并两个排序链表
    /***structListNode{* intval;* structListNode*next;* ListNode(intx):val(x),next(nullptr){}*};*/#include<cstddef>classSolution{public:/***代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*......
  • 天梯赛-练习集-L2-002 链表去重(25分)
    L2-002链表去重代码长度限制:16KB时间限制:400ms内存限制:64MB题目描述给定一个带整数键值的链表L,你需要把其中绝对值重复的键值结点删掉。即对每个键值K,只有第一个绝对值等于K的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定L为21→-15→-15......
  • P8725 [蓝桥杯 2020 省 AB3] 画中漂流
    题目:链接:https://www.luogu.com.cn/problem/P8725思路:dp[i][j]表示第i个时刻还有多少体力之前的错误思路:dp[i][j][k]表示第i个时刻,在j位置,有k个体力。但是注意:这三个变量并不是相互独立!!动规的一个取变量原则应该是相互独立确定某个状态。剩下k体力和i时刻可以推出位置!!site......
  • SSM整合(Spring、SpringMVC、Mybatis)
    第一步:新建一个Webx项目第二步:导入相关依赖包第三步:配置Spring核心配置文件第四步:配置SpringMVC核心配置文件第五步:配置web.xml文件......
  • dremio 25.0 版本的一些问题
    就是最近dremio25.0发布了,昨天在体验了之后似乎一些功能与实际的说明是不太一样的(也可能是社区版的问题)一些问题nessiecatalogga了官方的说法是支持基于api以及ALTERTABLE,ALTERVIEW进行反射更新的,但是似乎是不行的,同时结合源码看就是暂时还支持,只是sql解析支持了......
  • 使用Mybatis执行sql脚本
    pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://ma......
  • CF1250A Berstagram 题解
    题面。题意描述的很清楚,这里就不多赘述。思路看题,对于每个\(a_i\),若\(b_j=a_i\),则将\(b_j\)与\(b_{j-1}\)的值调换(若\(j=1\),则序列不变)。一开始想的是最直接的暴力,复杂度为\(O(nm)\),虽然开了三秒的时限,但\(4\times10^{10}\)的数据明显不是三秒钟就能解决的,含恨倒在第......
  • 全新一款基于mybatis的ORM框架,你没有见过的好用的框架,不信的前来看看!!!
    喜欢的朋友加入QQ群:917404304,群里不仅可以提mybatis-mp框架问题,还可以帮你解决后端的各种问题!另外,喜欢的朋友,帮忙关注和star(点点小爱心)!https://gitee.com/mybatis-mp特别申明:禁止在非法项目中使用,否则后果自负!与众不同的几大亮点:1:mybatis-mp-亮点一:可自定义动......
  • jvm整理 ,讲解的很好。
    jvm整理 https://blog.csdn.net/qq_41433169/article/details/119811601 Interviewpreparation--JVM性能优化-垃圾收集器https://blog.csdn.net/liaojiamin0102/article/details/129320817......