| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> SSM整合注意事项 -> 正文阅读 |
|
[Java知识库]SSM整合注意事项 |
目录
1. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.Persiste这个是JDBC命名冲突的问题;这个不能写成driver,会冲突!!! 2. MyBatis注册映射文件(resource、class、package 三者区别)resource加载mybatis原始开发mapper.xml文件与接口文件不在同一路径下,仅能用resource加载映射文件
class加载接口文件与映射文件在同一路径下,且接口名与映射文件名相同
包加载接口文件与映射文件在同一路径下,且接口名与映射文件名相同,并且映射文件命名为接口全类名
3. spring-dao.xml关联数据库文件 注意这句代码,要加classpath,不然之后会报错找不到database.properties的
配置SqlSessionFactory对象 配置MyBaties全局配置文件:mybatis-config.xml ,也是classpath,主要是路径,就要写这个东西
配置扫描Dao接口包,动态实现Dao接口注入到spring容器中 注意这里是basepackage,扫描包有的是用 <context:component-scan base-package=“com.whirl.service” />
4. spring-service.xml扫描service相关的bean
BookServiceImpl注入到IOC容器中,这里只有当在BookServiceImpl中写了set注入,这里的ref才可以,依赖注入,采用的是set方法
5. spring-mvc.xml扫描包也是和service的那个一样,也是用component-scan
6. web.xml
7. BookMapper.java和.xml注意这里的带参数,加一个@Param,然后后面的xml里就可以直接用这个bookID 注意xml里的那些resultType=“Books” 和 parameterType=“String” 这个参数类型是Books是因为这个是整合了的,都在applicationContext.xml里面
8. @Qualifier注解使用 @Autowired 注解是 Spring 依赖注入的绝好方法。 但是有些场景下仅仅靠这个注解不足以让Spring知道到底要注入哪个 bean。 默认情况下,@Autowired 按类型装配 Spring Bean。如果容器中有多个相同类型的 bean,则框架将抛出 NoUniqueBeanDefinitionException, 以提示有多个满足条件的 bean 进行自动装配。 9. 修改数据,带值显示后端把数据放在Model里面,带到前端,通过Querybook拿出来, 注意那个bookID要用隐藏域写出来,不然不能绑定修改哪一个id的数据。
10. 传参方法
11. 相关配置截图12. json乱码配置问题
13. mybatis在mapper.xml中写sql语句不提示数据库及字段注意path是项目路径,并不是某个xml路径 14. c3p0的问题AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract 问题分析: 出现该问题是因为 c3p0 的版本偏低,只适用与 Mysql 5.x 版本。我用的是 Mysql 8.x版本,所以治理需要更改 c3p0 的版本到与 mysql 8.x 适配的版本。
15. 引入Bootstrap参考链接Bootstrap国内cdn库_于大博-CSDN博客_bootstrap cdn
16. 表单Example block-level help text here.
17. 隐藏域提交了修改的请求但没有成功,以为是事务的问题,其实是sql执行失败,是因为没有传id
排错思路 一个是添加事务,aop横切进来,但此处不是这个原因,因为开始写的新增都可以执行 二个是可以在controller里面显示输出影响的行数,如果是0,那就说明SQL出现了问题,要去检查SQL的传值 三个是可以添加mybatis的日志
18. / 和 /* 的区别:< url-pattern > / </ url-pattern > 不会匹配到.jsp, 只针对我们编写的请求;即:.jsp 不会进入spring的 DispatcherServlet类 。 < url-pattern > /* </ url-pattern > 会匹配 *.jsp,会出现返回 jsp视图 时再次进入spring的DispatcherServlet 类,导致找不到对应的controller所以报404错。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:58:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |