发表于: 2018-04-20 23:35:16
1 564
1.今天完成的事情
a.今天终于理解了jdbctemplate的实现和原理
b.为什么mybatis中不需要使用impl,那是因为mybatis把这个类中实现的方法写进了一个配置文件,在我们需要使用的时候直接通过导入文件后去调用这些方法,这样的好处是非常,直接的,首先减少了代码量,让我们的代码看起来明白直接,这样维护起来就非常的容易,其次写在配置文件中对于我们的方法实现的耦合度降低,减少出错的概率
2.明天计划的事情
a.学习spring的知识,按照例子写出来
b.把spring中遇到的问题单独写出来,并按照这些问题去逐个解决
3.遇到的问题
之前因为jdbctemplate中有些地方不能理解,因为其中设计到的spring是后面的要求,所以我就放了下来,后面去编辑的时候遇到了很多问题自己没有理解懂
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/store"></property>
<property name="username" value="root"></property>
<property name="password" value="716923"></property>
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource">
</property>
</bean>
<bean id="Dao" class="com.jnshu.mybatis.dao.Dao">
<constructor-arg ref="jdbcTemplate">
</constructor-arg>
</bean></beans>
比如在这个配置文件中这个打他source的引用我不是特别的理解,问了师兄也没能够听的太懂,自己在网上找的教程也是看了半天,自己理解能力确实是不怎么样,所以一直卡在这个位置好久,然后去网上找实例的讲解提到的三种方法中的特点
要使用Jdbctemplate 对象来完成jdbc 操作。通常情况下,有三种种方式得到JdbcTemplate 对象。
第一种方式:我们可以在自己定义的DAO 实现类中注入一个DataSource 引用来完 成JdbcTemplate 的实例化。也就是它是从外部“注入” DataSource 到DAO 中,然后 自己实例化JdbcTemplate,然后将DataSource 设置到JdbcTemplate 对象中。
第二种方式: 在 Spring 的 IoC 容器中配置一个 JdbcTemplate 的 bean,将 DataSource 注入进来,然后再把JdbcTemplate 注入到自定义DAO 中。
第三种方式: Spring 提供了 org.springframework.jdbc.core.support.JdbcDaoSupport 类 , 这 个 类 中 定 义 了 JdbcTemplate 属性,也定义了DataSource 属性,当设置DataSource 属性的时候,会创 建jdbcTemplate 的实例,所以我们自己编写的DAO 只需要继承JdbcDaoSupport 类, 然后注入DataSource 即可。提倡采用第三种方法。
也还是不太理解,但是知道了这些方式,就又去看了实例,找到了一个实例中对于这个的连接:https://blog.csdn.net/daryl715/article/details/1630032,写的终于看懂了实现的过程以及之前没有想明白的地方对于这些方法的调用,对于实参的传入等
4.收获a最近卡壳的地方太多了,自己也看了很多实例,还是很疑惑为什么这个方法的实现,为什么这个参数要去这样使用,为什么要去写接口,为什么还要去将配置文件导入,这一系列的问题问的自己头都大了,然后一个一个看发现这些之间又都是连接在一起的,没办法用自己的理解去看代码,整天就都不知道做了什么,理解了这些后,感觉豁然开朗,这些方法的传入以及实现
评论