发表于: 2017-08-15 23:14:18
2 881
今天完成的事情:回顾了jdbc mybatis spring的内容
重新编写了jdbc mybatis的代码
Spring还不是完全的理解
在spring里更换了数据源把jdbc 改成了C3P0
<!--配置数据源 jdbc-->
<!-- <bean id="jdbcDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/first_a?useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>123123</value>
</property>
</bean>-->
<!-- 数据源配置class-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" >
<property name="driverClass"
value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl"
value="jdbc:mysql://localhost:3306/first_a?useUnicode=true&characterEncoding=UTF-8&useSSL=true" />
<property name="user"
value="root" />
<property name="password" value="123123" />
<!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 -->
<property name="initialPoolSize" value="3"/>
<!--连接池中保留的最小连接数。Default: 2 -->
<property name="minPoolSize" value="2"/>
<!--连接池中保留的最大连接数。Default: 15 -->
<property name="maxPoolSize" value="15"/>
<!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 -->
<property name="acquireIncrement" value="5"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="Dao.UserMapper"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
发现按照Spring的框架 更换数据源只需要更改xml文件 对于接口 测试完全不用修改
对任务一的异常捕捉进行了测试
循环插入数据 finally 输出gg
中间 命令行 net stop mysql
捕捉到了异常 依旧输出了gg
也就是说 连接mysql失败后 因为捕捉到了异常 程序没有结束 继续向下执行了
明天计划的事情:继续理解spring 测试关闭连接池与不关闭的区别
遇到的问题:数据库连接池连接不上 居然是密码多输入了一个“ 太过微小 看不出来
还好看日志 看出来是密码错误
测试异常的时候 红线 显示错误未被抛出 没办法捕捉
收获: 对jdbc mybatis Spring有了更深入的理解
jdbc链接步骤更加熟悉 加载驱动 创建对象 创建对象执行的sql语句 执行 关闭
mybatis 步骤 首先加载资源 创建sqlsessionFactory 在用build 创建sqlsession 实例
在创建对象 执行sql
mybatis 需要实体类 对应映射文件 总的配置文件 注册那个映射文件
这些步骤在spring里 都交由xml自动装配 构造出实例
mybatis是优秀的框架 来优化jdbc的配置
而Spring不仅是框架 更是容器
感觉这些都是自己语言的描绘 理解还是很浅显 表达不是很精准
评论