加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

mybatis 学习总结笔记Day2

发布时间:2020-12-14 06:15:50 所属栏目:Java 来源:网络整理
导读:在门外听到或看到一门技术,找资料入门,一看,嗯,不错,进门之后,发现,尼玛————,是片海,你是关门而出,还是学习精卫填海。 填海吧,也许只是个小水坑,稍加用点力,就填的7788了。 上一篇随笔中说了mybatis入门,介绍了基本方式的增删改查CRUD MyB

在门外听到或看到一门技术,找资料入门,一看,嗯,不错,进门之后,发现,尼玛————,是片海,你是关门而出,还是学习精卫填海。

填海吧,也许只是个小水坑,稍加用点力,就填的7788了。

上一篇随笔中说了mybatis入门,介绍了基本方式的增删改查CRUD

MyBatis快速入门:

https://www.cnblogs.com/qianjinyan/p/10346569.html

CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。CRUD主要被用在描述软件系统中数据库或者持久层的基本操作功能。

mybatis除了用基本方式的CRUD,还可以用mapper动态代理方式的CRUD,这种方式也通常称作Mybatis接口开发。

?

今天要总结的内容:1. 用Mapper接口动态代理方式的CRUD2. 别名的使用3. 将数据库连接等信息放到配置文件中再动态引入4. 类型转化器【比如DB中存int,程序对象中是false和true】

1.Mybatis接口开发的原则是:约定优于配置,必须遵循以下约定:1) 方法名和mapper.xml文件标签中的ID必须一致2) 方法的输入参数和mapper.xml文件标签中的parameterType类型一致3) 方法的输出参数和mapper.xml文件标签中的resultType类型一致3) mapper.xml文件标签中的namespace的值就是接口的全类名

根据配置的原则,接口的内容很容易编写了,如下

import com.test.mybatis.entity.User;

import java.util.List;

public interface UserMapper {

User selectById(int id);

List<User> selectAll();

int  addUser(User user);

int updateUser(User user);

int deleteUserById(int id);

}

  再看一下UserMapper.xml文件,是不是namespace的值和接口的全路径名称一致,是不是mapper中的id和接口的方法名一致,返回类型是不是也不一致。

新增/更新/删除接口,在mapper文件中是没有返回类型的,接口中返回int类型,也可以返回无类型void。 我这边返回int,目的是看新增/更新/删除操作,影响的数据条数。

测试一下接口的调用,这个时候就不用statement了,需要用java中的反射,session.getMapper(xxMapper.class),返回的还是这个接口,然后调用接口里的方法。

?2. 别名的使用

比如我觉得userMapper.xml文件中的namespace="com.test.mybatis.entity.User"太长,要写的太多,想用别名User替代com.test.mybatis.entity.Userconfig.xml文件中,在元素下导入

?3. 将数据库连接等信息放到配置文件中再动态引入

配置信息单独放入某文件中,然后在config.xml文件中,在元素下导入导入语句

db.properties文件

driver= com.mysql.cj.jdbc.Driver url= jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 username= root password=root

config.xml中如何取对应的value值,用${key}来取值,之后的config.xml文件如下

<typeAliases>
    <typeAlias type="com.test.mybatis.mapper.UserMapper" alias="UserMapper" />
    <typeAlias type="com.test.mybatis.entity.User" alias="User" />
</typeAliases>

<environments default="development"&gt;
    <environment id="development"&gt;
        <transactionManager type="JDBC"/&gt;
            <dataSource type="POOLED"&gt;
                <property name="driver" value="${driver}"/&gt;
                <property name="url" value="${url}"/&gt;
                <property name="username" value="${username}"/&gt;
                <property name="password" value="${password}"/&gt;
            </dataSource>
    </environment>
</environments>


<mappers>
    <mapper resource="UserMapper.xml"/&gt;
</mappers>

  

?4. 类型转化器【比如DB中存int,程序对象中是false和true】

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读