JavaWeb 02 Maven MyBatis Mapper

Maven请看另一篇笔记https://blog.csdn.net/m0_67184231/article/details/128614119

01-MyBatis:
免除了几乎所有JDBC代码以及设置参数和获取结果集的工作

JavaWeb 02 Maven MyBatis Mapper_第1张图片

JavaWeb 02 Maven MyBatis Mapper_第2张图片JavaWeb 02 Maven MyBatis Mapper_第3张图片

02-MyBatis快速入门
JavaWeb 02 Maven MyBatis Mapper_第4张图片
导入报错
The project group that produced the dependency, e.g. org.apache.maven.

maven工程关于pom.xml文件导入mybatis版本失败_等你说等我说的博客-CSDN博客_maven导入mybatis不行

!!!就nima无语 我卡这块最少卡一个小时就是解决不了
后来重新打开apache-maven文件从里面翻出来org.mybatis !!!pom.xml就不报错了 服了

03-解决SQL语句警告提示
JavaWeb 02 Maven MyBatis Mapper_第5张图片
IDEA 配置连接数据库报错 Server returns invalid timezone. Need to set ‘serverTimezone‘ property._小薛的BUG日志的博客-CSDN博客

 04-Mapper代理开发
JavaWeb 02 Maven MyBatis Mapper_第6张图片JavaWeb 02 Maven MyBatis Mapper_第7张图片

[FATAL] Non-parseable settings D:\黑马Java资料\Javaweb\apache-maven-3.6.1\conf\settings.xml: end tag name must match start tag name from line 147 (position: TEXT seen ...\n     -->\n    ... @160:14)  @ D:\黑马Java资料\Javaweb\apache-maven-3.6.1\conf\settings.xml, line 160, column 14
真nima服了
    原来因为/是结束标签  弄反了        

Maven 编译遇到 Process terminated【四种情况全部解决】_是我,Zack的博客-CSDN博客_maven process terminated

05-Mybatis核心配置文件
JavaWeb 02 Maven MyBatis Mapper_第8张图片JavaWeb 02 Maven MyBatis Mapper_第9张图片

 environments:配置数据库连接环境信息。可以配置多个environment,通过default属性切换不同的environment

 06-Mybatis案例-环境准备

JavaWeb 02 Maven MyBatis Mapper_第10张图片蓝鸟代表Mapper接口 红鸟代表SQL映射文件
[已解决] idea插件下载不了_罪恶老司机的博客-CSDN博客_idea下载不了插件

07-查询-查询所有&结果映射


都是这三步 难点在于:面对不同需求 !!!SQL语句咋写;要不要参数;返回什么结果
JavaWeb 02 Maven MyBatis Mapper_第11张图片
java:提示程序包org.junit不存在时的解决方法_错在贪恋你温柔的博客-CSDN博客_java: 程序包org.junit不存在
        数据库表的字段名称 和 实体类的属性名称 不一样,则不能自动封装数据
        * 起别名: 对不一样的列名起别名,让别名和实体类属性名一样
             select id,brand_name as brandname, ordered      from tb_brand;
            *缺点: 每次查询都要定义别名 解决方法:定义SQL片段
                *缺点: 不够灵活
        *resultMap(非常常用):就是将名字不一样的放在外面起别名
            id:唯一标识
            type:映射类型 支持别名
        *resultMap使用步骤:
            1.定义标签
            2.在 select * from tb_brand;

08-查询-查看详情

 *参数占位符:
    1.#{}:会将其(#)替换为?(作为占位符) 为了防止SQL注入
    2.${}:直接把{}里面的拼SQL参数,会存在SQL注入问题
    3.使用时机:
        *参数传递的时候:#{}
        *表名或者列名不固定情况下:${} 存在SQL注入问题
 *参数类型: "parameterType: int"  一般都省略 麻烦
*SQL语句中特殊字符处理:
        1.转义字符;
        2.CDATA区:
                                       <(特殊字符)
                 ]]>

09-查询-条件查询
JavaWeb 02 Maven MyBatis Mapper_第12张图片JavaWeb 02 Maven MyBatis Mapper_第13张图片

存在BUG,必须三个条件都有才能查询

10-查询-动态条件查询 动态SQL
JavaWeb 02 Maven MyBatis Mapper_第14张图片JavaWeb 02 Maven MyBatis Mapper_第15张图片JavaWeb 02 Maven MyBatis Mapper_第16张图片JavaWeb 02 Maven MyBatis Mapper_第17张图片
11-添加&修改功能
JavaWeb 02 Maven MyBatis Mapper_第18张图片JavaWeb 02 Maven MyBatis Mapper_第19张图片

就加这两个属性就能返回 添加数据的主键 
JavaWeb 02 Maven MyBatis Mapper_第20张图片JavaWeb 02 Maven MyBatis Mapper_第21张图片 

12-删除功能
JavaWeb 02 Maven MyBatis Mapper_第22张图片JavaWeb 02 Maven MyBatis Mapper_第23张图片

mybatis会将数组参数,封装为一个Map集合
    *默认:array =数组
    *使用@Param 改变map集合的默认key名称
     void deleteByIds( @Param("ids") int[] ids);
    
    
        delete from tb_brand where id
        in 
            
                #{id}
            
            ;
    

13-参数传递
JavaWeb 02 Maven MyBatis Mapper_第24张图片JavaWeb 02 Maven MyBatis Mapper_第25张图片
14-注解开发
JavaWeb 02 Maven MyBatis Mapper_第26张图片

你可能感兴趣的:(JavaWeb从入门到企业,java,maven,spring)