栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven简介及作用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven简介及作用

目录

MyBatis的简介

pom.xml:

lombok插件:

使用mabatis完成crud

添加SQL日志

添加时返回递增的主键值

解决列名和属性名不一致。

mybatis中动态sql标签有哪些?

where标签

动态SQL

mybatis中完成模糊查询


MyBatis的简介

MyBatis 是一款优秀的持久层Dao框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Java实体类)映射成数据库中的记录.

并且可以简化jdbc的操作以及占位符赋值以及查询结果集的封装。

pom.xml:

“pom:是 Project Object Model的英文缩写,是项目对象模型的意思。通过xml可扩展标记语言(EXtensible Markup Language)格式保存的pom.xml文件。作用类似ant的build.xml文件,功能更强大。 作用:该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。”

在pom.xml中部署驱动器,就不用再引入驱动器,在大型项目汇总可以省很多内存

像下面这样直接引用就可以了

pom.xml

    
        
        
            org.mybatis
            mybatis
            3.4.6
        

        
            mysql
            mysql-connector-java
            8.0.16
        

        
        
            org.projectlombok
            lombok
            1.18.24
        

        
        
            junit
            junit
            4.12
            test
        
        
            junit
            junit
            4.12
            test
        
        
            org.junit.jupiter
            junit-jupiter
            RELEASE
            compile
        

        
        
            log4j
            log4j
            1.2.17
        
    

lombok插件:

Lombok项目是一个Java库,它会自动插入编辑器和构建工具中,Lombok提供了一组有用的注释,用来消除Java类中的大量样板代码。仅五个字符(@Data)就可以替换数百行代码从而产生干净,简洁且易于维护的Java类。

可以在pom.xml中引入lombok,代码如下:

        
        
            org.projectlombok
            lombok
            1.18.24
        

还可以在实体类中添加lombok,数据仅供参考

User

@Data //set和get方法以及toString方法
@NoArgsConstructor //无参构造方法
@AllArgsConstructor //所有参数的构造方法
public class User {
    private int userid;
    private String username;
    private String realname;
}

使用mabatis完成crud






    
    
          select * from tb_user
    



添加SQL日志

在pom.xml中添加日志的jar包,代码如下

 		
        
            log4j
            log4j
            1.2.17
        

创建映射文件





    
        select stu_id id,stu_name name,stu_age age from tb_stu where stu_id=#{id}
    

第二种: 使用resultMap完成列和属性之间的映射关系。

    

         
         

         
         
         
    

 
    
        select * from account where 1=1
        
             and  name=#{name}
        
        
             and  money=#{money}
        
    

choose标签--用于多条件分支查询

where标签

我们观察到上面的sql都加了 where 1=1 ,如果不使用where 1=1 那么动态sql可能会出错。 我们能不能不加where 1=1呢! 可以 那么就可以使用where标签。

作用:可以自动为你添加where关键字,并且可以帮你去除第一个and或者or

 
        select * from account where name like '%${name}%'
    

通过观察: 发现使用${}实际上是字符串拼接,它不能防止sql注入, 而#{}它是预编译,它可以防止sql注入问题,#{}实际使用的PreparedStatement.

联表查询
  1. 多对一 : 从多的一方来查询一的一方。

班级表:

        例如:一个班级可以有很多学生,但是一个学生只能隶属于一个班级,不能同时在多个班级出现,这就是多对一和一对多。

学生表:

        根据学生id查询学生信息并携带班级信息。

给两个表设置链接关系

select * from tb_stu s join tb_class c on s.class_id=c.cid where stu_id=1

实体类:

Student:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Student {
    private int id;
    private String name;
    private int age;
    private String sex;
    private Integer classId;

    private Clazz clazz;//学生所属的班级
}

Class:

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Clazz {
    private Integer cid;
    private String cname;

}

.xml


            
            
            
            
            
            
            
                
                
            
    
    
         select * from tb_stu s join tb_class c on s.class_id=c.cid where stu_id=#{id}
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/952641.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号