Maven&Mybatis基础使用及示例

Maven&Mybatis基础使用及示例,第1张

Maven&Mybatis基础使用及示例 Maven&Mybatis 1.Maven 1.1使用JDBC完成增删改查

把增删改查的代码封装到StudentDao中

删除:id

添加:Student

修改:Student

查询: 当前页+每页条数

1.2 Maven简介

概念:是一款java项目管理工具,grandle+ant

作用:

​ a. 提供了一套标准的构建流程

​ compile test package install deploy

​ clean

​ b.提供了一套标准的项目结构

​ 项目名称

​ – src:存放源码

​ – main: 主程序的代码和配置文件

​ --java: java代码

​ --recources:配置文件

​ – test: 测试程序的代码和配置文件

​ --java: java代码

​ --recources:配置文件

​ – pom.xml: 核心配置文件

​ – target: 编译后的产物

​ c.依赖管理

​ 以后需要依赖的jar包,只需要在pom配置文件中,配置jar包的坐标

1.3 maven安装与配置

解压

配置: 本地仓库,阿里云私服

1.4 IDEA中配置maven 1.5 IDEA创建maven项目

a.创建模块时,选择的是maven

b.创建模块时,需要填写坐标

公司域名倒着写
项目名称
版本号

还需要处理编译版本5的问题


    1.8
    1.8


IDEA中的jdk版本和语言版本选择成一致的
1.6IDEA导入maven项目

选择maven面板中的+,找到maven项目中的pom文件确定

1.7依赖

    
        mysql
        mysql-connector-java
        5.1.47
    
    

1.8依赖范围

通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境。

依赖范围:
	这个jar包会在整个项目的哪些阶段起作用
配置:
	 
        mysql
        mysql-connector-java
        5.1.47
        compile | provided | test
    

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gSE9RaP6-1639188957992)(C:UsersAdministrator.DESKTOP-19OD09NDesktopJavaWeb笔记图片day04Snipaste_2021-12-11_09-15-20.png)]

  • 上图为scope的各种取值,
  • 如果引入坐标不指定 scope 标签时,默认就是 compile 值。以后大部分jar包都是使用默认值
2.Mybatis 2.1 Mybatis概述
  • Mybatis 是一款优秀的持久层框架, 用于简化JDBC 开发
  • Mybatis官网:https://mybatis.org/mybatis-3/zh/index.html
2.11持久层
  • 负责将数据存到数据库的那一层代码.

    Mybatis就是对jdbc代码进行了封装

  • JavaEE三层架构: 表现层、业务层、持久层。

2.12框架
  • 框架就是一个半成品软件,是一套可重用的、通用的,软件基础代码模式
  • 在框架的基础之上构建软件编写更加高效、规范、通用、可扩展
2.2 Mybatis快速入门

需求查询所有user表中的所有数据**

  • 1.创建user表,添加数据
create database db14;
use db14;

drop table if exists tb_user;

create table tb_user(
	id int primary key auto_increment,
	username varchar(20),
	password varchar(20),
	gender char(1),
	addr varchar(30)
);

INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京');
INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');
  • 2.创建模块,导入坐标

    在创建好的没款中的pom.xml 配置文件中添加依赖的坐标


    
    
        org.mybatis
        mybatis
        3.5.5
    

    
    
        mysql
        mysql-connector-java
        5.1.46
    

    
    
        junit
        junit
        4.13
        test
    

    
    
        org.slf4j
        slf4j-api
        1.7.20
    
    
    
        ch.qos.logback
        logback-classic
        1.2.3
    
    
    
        ch.qos.logback
        logback-core
        1.2.3
    

注意:需要在项目的 resources 目录下创建logback的配置文件

    1. 编写Mybatis核心配置文件---->替换连接信息 解决硬编码问题

      *** 作流程:在模块下的resources 目录下创建Mybatis的配置文件

      mybatis-config.xml,内容如下:





    
        
    
    
    
    
        
            
            
                
                
                
                
                
            
        
    
    
       
       
    

  • 4.编写SQL映射文件—>统一管理sql语句,解决硬编码问题

    *** 作流程:在模块的 resources 目录下创建映射配置文件 UserMapper.xml,内容如下:




    

  • 5.编码

    在pojo包下新建User类

public class User {
    private int id;
    private String username;
    private String password;
    private String gender;
    private String addr;
    
    //省略了 setter 和 getter 和toString方法
}

​ 在包下编写MybatisDemo测试类

public class MyBatisDemo {

    public static void main(String[] args) throws IOException {
        //1. 加载mybatis的核心配置文件,获取 SqlSessionFactory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        //2. 获取SqlSession对象,用它来执行sql
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //3. 执行sql
        List users = sqlSession.selectList("test.selectAll"); //参数是一个字符串,该字符串必须是映射配置文件的namespace.id
        System.out.println(users);
        //4. 释放资源
        sqlSession.close();
    }

lSession对象,用它来执行sql

SqlSession sqlSession = sqlSessionFactory.openSession();
//3. 执行sql
List users = sqlSession.selectList(“test.selectAll”); //参数是一个字符串,该字符串必须是映射配置文件的namespace.id
System.out.println(users);
//4. 释放资源
sqlSession.close();
}

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

原文地址: https://outofmemory.cn/zaji/5660851.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存