Mybatis笔记(2)
  • 2020 年 02 月 23 日
  • 252 次阅读
  • 818 字
  • 暂无评论


1.Mybatis基于代理Dao的CRUD操作

基本顺序:先在接口中声明方法,然后在xml文件下写配置,最后在test中写测试类

需要注意

​ xml文件配置中,resultType和parameterType的路径要写正确

​ 模糊查询中有两种方式

​ 一种使用PrepatedStatement的参数占位符 即

select * from user where username like #{name}

​ 另一种是Statement对象的字符串拼接SQL 即

select * from user where username like '%${value}%'

通常使用第一种

​ 数据库表的元素名和实体类的属性名不对应的解决方法

​ 1.起别名,即修改sql语句(as),运行效率更高,更快。

​ 2.配置查询结果的列名和实体类的属性名的对应关系,开发效率更高,更快

​ (所以 ,为了避免麻烦,元素名和属性名尽量一致吧,好么!哈哈哈哈哈哈)


OGNL表达式

Object Graphic Navigation Language
对象    图    导航       语言
它是通过对象的取值方法来获取数据。在写法上把get给省略了。
比如:我们获取用户的名称
    类中的写法:user.getUsername();
    OGNL表达式写法:user.username
mybatis中为什么能直接写username,而不用user.呢:
    因为在parameterType中已经提供了属性所属的类,所以此时不需要写对象名

2.Mybatis中编写Dao实现类的使用

​ 视频里p30到p36再讲底层源码,最后的出结论一切操作源头都是PreparedStatement对象它的执行方法。只是在代码中传入不同的参数,回到底层进行不的实现。

1582359822437.png

3.一些标签的使用以及细节

使用properties配置数据库连接信息

​ 可以在标签内部配置连接数据库的信息。也可以通过属性引用外部配置文件信息

第一种:resource属性(常用)

​ 用于指定配置文件的位置,是按照类路径的写法来写,并且必须存在于类路径下。

<properties resource="jdbcConfig.properties">

</properties>

第二种:url属性(不常用) 是要求按照Url的写法来写地址

​ URL:Uniform Resource Locator 统一资源定位符。

​ 它是可以唯一标识一个资源的位置。

​ 它的写法: http://localhost:8080/mybatisserver/demo1Servlet

​ 协议 主机 端口 URI

URI:Uniform Resource Identifier 统一资源标识符。

它是在应用中可以唯一定位一个资源的。

使用typeAliases配置别名

<!--使用typeAliases配置别名,他只能配置domain中类的别名-->
    <typeAliases>
        <!--typeAlias用于配置别名,type属性指定的是实体类中的全限定类名。alias属性指定别名,当指定了别名后不在区分大小写-->
        <typeAlias type="com.itheima.domain.User" alias="user"></typeAlias>
    </typeAliases>

使用package配置别名

 <typeAliases>
        <!--用于指定要配置别名的包,当指定后,该包下的实体类都会注册别名,并且类名就是别名,不再区分大小写-->
        <package name="com.itheima.domain"/>
    </typeAliases>

其中,配置映射文件位置的中也有package这个标签

   <mappers>
<!--        <mapper resource="top/zoick/dao/IUserDao.xml"/>-->
        <!--package标签是用于指定dao接口所在的包,当指定了之后就不需要再写mapepr以及resource或者class了-->
        <package name="com.itheima.dao"/>
    </mappers>

写在后面

主要学习Mybatis基于代理dao的crud,感觉比较简单,且易懂。

在后面的视频里的老师很详细的讲了自定义编写dao实现类以及大致讲解了实现的底层原理,我只是听了一遍,大致意思懂了。

还提到了断点测试的方法。。。没有好好听。。。。

配置别名也感觉目前为止用途不大。可能后面会吃亏,但是也得吃了亏才能反应过来,记住吧。

大概是这个样子。


版权属于:如此

本文链接:https://www.songvei.cn/archives/55/


SSMMybatis笔记Java

—— 暂无评论 ——