springmvc mybatis 数据库是mysql 事务处理

springmvc mybatis 数据库是mysql 事务处理,第1张

在查询时,有时会出现一种“脏读”的现象,即你一次执行多条查询,但在查询过程中数据发生了修改。

比如说,你发送了两条SQL语句,完成部门和员工信息的检索,但在你检索出部门信息之后,有人更改了部门号这个数据,于是你可能一个员工都检索不出来。

不启动事务的查询,数据库的更新会反映在你的查询结果之内,导致检索结果不正确。

启动事务的查询,在查询结束之前,数据库的更新不会影响到你的查询结果。

@Transactional(propagation = PropagationREQUIRED, readOnly = true) 是一个只读事务,可以加快事务的处理速度。

<!-- 数据源配置,使用应用内的DBCP数据库连接池 -->

<bean id="dataSource" class="orgapachecommonsdbcpBasicDataSource" destroy-method="close">

<!-- Connection Info -->

<property name="driverClassName" value="${jdbcdriver}" />

<property name="url" value="${jdbcurl}" />

<property name="username" value="${jdbcusername}" />

<property name="password" value="${jdbcpassword}" />

<!-- Connection Pooling Info -->

<property name="maxIdle" value="${dbcpmaxIdle}" />

<property name="maxActive" value="${dbcpmaxActive}" />

<property name="defaultAutoCommit" value="false" />

<property name="timeBetweenEvictionRunsMillis" value="3600000" />

<property name="minEvictableIdleTimeMillis" value="3600000" />

</bean>

然后 写个applicationproperties文件

配置多个数据库的jdbcdriver等等

比如页面有name和age两个内容。

在spring MVC框架

在action中如下写

@RequestMapping(value="/login",method=RequestMethodPOST)

public String login(User user){

String userName = usergetName();

String userage = usergetAge();

Systemoutprintln(userName + "," + userage);

if(userName=="zhangsan"&&age=="123"){

return "login";

}else{

return "false";

}

}

具体return的login和false是要跳到哪个页面,在spirng的配置文件servletxml中如下配置

<!-- 视图解析类-->

<bean class="orgspringframeworkwebservletviewInternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/page/" /> <!-- 前缀 -->

<property name="suffix" value="jsp" /> <!-- 后缀 -->

</bean>

这个配置的意思就是,return的是XXXX,就跳到/web-INF/page/xxxxjsp 这个页面

<bean id="dataSource" class="commchangev2c3p0ComboPooledDataSource">

<property name="driverClass" value="${jdbcdriverclass}"/>

<property name="jdbcUrl" value="${jdbcurl}"/>

<property name="user" value="${jdbcuser}"/>

<property name="password" value="${jdbcpassword}"/>

<property name="maxPoolSize" value="${c3p0poolsizemax}"/>

<property name="minPoolSize" value="${c3p0poolsizemin}"/>

<property name="initialPoolSize" value="${c3p0poolsizeini}"/>

<property name="acquireIncrement" value="${c3p0poolsizeincrement}"/>

</bean>

这是我之前写的一个在xml文件中配置oracle数据源的部分代码,由于我是用了分散配置,所以vaule=的值是在另外一个文件中,lz可以直接将相关信息硬编码进去

大家好,一直以来我都本着 用最通俗的话理解核心的知识点, 我认为所有的难点都离不开 「基础知识」 的铺垫

「大佬可以绕过 ~」

本节给大家讲讲 「Java的SpringBoot框架」 , 之前我们学习的都是java的基础知识和底层提供的一些能力,我们日常工作都是在写接口。在我们在产品开发中,一般我们都会选择比较稳定的框架来帮我们加速开发,不会自己去造轮子,而在java众多框架中,spring框架表现的非常好,大部分公司都会首选它作为开发框架,而至今,大部分企业都是以 springboot 来构建项目了~

上期我们讲解了springboot中的 >

以上就是关于springmvc mybatis 数据库是mysql 事务处理全部的内容,包括:springmvc mybatis 数据库是mysql 事务处理、使用Spring访问MySQL数据的优点、在springmvc 框架下 怎么在把jsp上获得的数据(连接mysql数据库)传到 控制器里面求代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10158720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)