手撸破产版Mybatis
文章平均质量分 86
沉河不浮
个人博客:https://cxydhi.github.io/
展开
-
手撸Mybatis(五)——连接数据库进行insert,update和delete
可以看出,这里因为我们使用的是parameterType是int而不是java.lang.Integer,所以会报错,但是一般情况下,像int,float,long等小写,一般我们也会使用的,而且用的频率比java.lang.Integer的频率更大,那么,我们其实可以添加一个假名,将int这些小写的方式和对应的包装类关联起来。首先,我们在IUserMapper接口上,添加一个updateUserById方法。再次运行测试方法,这次没有报错了,然后我们查看数据库,结果如下,说明删除成功了。原创 2024-05-03 16:22:16 · 828 阅读 · 0 评论 -
手撸Mybatis(四)——连接数据库进行简单查询
这里将和结果相关的解析,抽取到parseResult方法中,此外,因为数据库是字段是下划线格式,类的属性是驼峰格式,因此,这里引入了Guava依赖,方便使用它的CaseFormat类进行格式转化。首先,我们修改DefaultMybatisSqlSession中,在该类中,执行我们的sql语句,其中,执行sql和对sql查询结果进行处理的内容,收敛在execute方法中。首先,我们修改MybatisSqlStatement,添加resultType字段。原创 2024-05-03 16:20:46 · 1070 阅读 · 0 评论 -
手撸Mybatis(三)——收敛SQL操作到SqlSession
在上一章,当我们调用mapper的方法时,最终是通过在MapperProxy中获取对应的MybatisStatement,然后打印出sql信息的,但是如果后续操作数据库是,也在MapperProxy中执行sql的话,不太方便管理。在上一章中,我们实现了读取mapper配置并构造相关的mapper代理对象,读取mapper.xml文件中的sql信息等操作,现在,在上一章的基础上,我们接着开始链接数据库,通过封装JDBC,来实现我们数据库操作。在使用jdbc之前,我们先引入mysql的依赖。原创 2024-05-03 16:17:46 · 1437 阅读 · 0 评论 -
手撸Mybatis(二)—— 配置项的获取
然后修改MapperProxy,接收MybatisSqlStatement数组,在执行的时候,根据执行方法,找到对应的MybatisSqlStatement,获取mapper Xml对应的sql语句,并打印出来。在mybatis中,一般我们会定义一个mapper-config.xml文件,来配置数据库连接的相关信息,以及我们的mapperxml文件存放目录。mybatis-config.xml的内容如下,对于每一个环境,都有对应的数据源信息,此外,mappers标签存储的是mapper.xml文件的位置。原创 2024-05-03 16:16:22 · 454 阅读 · 0 评论 -
手撸Mybatis(一)——代理mapper
在使用mybatis的时候,我们一般只需要定义mapper的接口,并添加相应的@Mapper注解,然后实现对应的xml文件即可,而不需要对mapper接口进行具体的实现。其实本质上,这些mapper接口是有实现的,但不是我们手动通过implement来实现,而是通过代理的方式进行实现。因此,对于Mybatis的手撸,首先要关注的,就是如何对mapper进行代理。像上述的这种方法,我们每次要获取一个Mapper,就要new一个对应的MapperProxyFactory,这样不太方便。然后创建对应的测试方法。原创 2024-05-03 16:14:38 · 355 阅读 · 0 评论