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

后端学习 Java 面向指挥官的操作系统

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

后端学习 Java 面向指挥官的操作系统

在操作系统的基础上,将原生 JDBC 引入 MyBatis 框架

对 MyBatis 的理解不深刻,感觉比原生更麻烦了,估计还需要后续的进一步学习才能体会到 MyBatis 的优势吧

项目结构
|warship-demo // 模块
|--|src // 源代码和测试代码目录
|--|--|main // 源代码目录
|--|--|--|java // 源代码Java文件目录
|--|--|--|resources // 源代码配置文件目录
|--|--|test // 测试代码目录
|--|--|--|java // 测试Java文件目录
|--|pom.xml // 项目核心配置文件
源代码和测试代码

按照编写顺序

pom.xml

pom.xml



    4.0.0

    com.cookies
    warship-demo
    1.0-SNAPSHOT

    
        17
        17
    

    
        
        
            org.mybatis
            mybatis
            3.5.10
        
        
        
            mysql
            mysql-connector-java
            8.0.29
        
        
        
            org.slf4j
            slf4j-api
            1.7.36
        
        
        
            ch.qos.logback
            logback-classic
            1.2.11
        
        
        
            ch.qos.logback
            logback-core
            1.2.11
        
    


mybatis-config.xml

src/main/resources/mybatis-config.xml




    
        
    

    
        
            
            
                
                
                
                
            
        
    

    
        
        
    


logback.xml

src/main/resources/logback.xml



    
        
            [%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n
        
    

    
        
    

    
        
    


Warship.java

src/main/java/com/cookies/pojo/Warship.java

package com.cookies.pojo;

public class Warship {
    private int id;
    private String englishName;
    private String chineseName;
    private String camp;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getChineseName() {
        return chineseName;
    }

    public void setChineseName(String chineseName) {
        this.chineseName = chineseName;
    }

    public String getCamp() {
        return camp;
    }

    public void setCamp(String camp) {
        this.camp = camp;
    }

    @Override
    public String toString() {
        return "Warship{" +
                "id=" + id +
                ", englishName='" + englishName + ''' +
                ", chineseName='" + chineseName + ''' +
                ", camp='" + camp + ''' +
                '}';
    }
}

WarshipMapper.java

src/main/java/com/cookies/mapper/WarshipMapper.java

package com.cookies.mapper;

import com.cookies.pojo.Warship;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WarshipMapper {
    // 查询所有舰娘数据
    List selectAll();
    // 按照条件进行查询
    List selectByConditions(
            @Param("id") int id,
            @Param("englishName") String englishName,
            @Param("chineseName") String chineseName,
            @Param("camp") String camp
    );
    // 增加舰娘数据
    void add(Warship warship);
    // 删除舰娘数据
    void deleteById(int id);
    // 修改舰娘数据
    void update(
            @Param("id") int id,
            @Param("englishName") String englishName,
            @Param("chineseName") String chineseName,
            @Param("camp") String camp
    );
}

WarshipMapper.xml

src/main/resources/com/cookies/mapper/WarshipMapper.xml




    
        
        
    

    
    
        select * from tb_warship
        
            
                and id = #{id}
            
            
                and english_name = #{englishName}
            
            
                and chinese_name = #{chineseName}
            
            
                and camp = #{camp}
            
        
    

    
    
        insert into tb_warship(english_name, chinese_name, camp)
        values(#{englishName}, #{chineseName}, #{camp})
    

    
    
        delete from tb_warship
        where id = #{id}
    

    
    
        update tb_warship
        set english_name = #{englishName}, chinese_name = #{chineseName}, camp = #{camp}
        where id = #{id}
    

MyBatisTest.java

src/test/java/com/cookies/test/MyBatisTest.java

package com.cookies.test;

import com.cookies.mapper.WarshipMapper;
import com.cookies.pojo.Warship;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Scanner;

public class MyBatisTest {
    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
        SqlSession sqlSession = sqlSessionFactory.openSession(true);

        // 3.获取Mapper接口
        WarshipMapper warshipMapper = sqlSession.getMapper(WarshipMapper.class);

        // 4.执行方法
        warshipManagementSystem(sqlSession, warshipMapper);
    }

    private static void warshipManagementSystem(SqlSession sqlSession, WarshipMapper warshipMapper) {
        Scanner sc = new Scanner(System.in);
        System.out.println("---------------------");
        System.out.println("---------------------");
        System.out.println("欢迎进入管理系统,指挥官");
        System.out.println("1.增加舰娘数据");
        System.out.println("2.删除舰娘数据");
        System.out.println("3.修改舰娘数据");
        System.out.println("4.查询舰娘数据");
        System.out.println("5.退出");
        System.out.println("请输入下一步操作");
        int chooseNumber = sc.nextInt();
        switch (chooseNumber) {
            case 1 -> createWarship(sqlSession, warshipMapper);
            case 2 -> deleteWarship(sqlSession, warshipMapper);
            case 3 -> updateWarship(sqlSession, warshipMapper);
            case 4 -> readWarship(sqlSession, warshipMapper);
            case 5 -> {
                // 5.释放资源
                sqlSession.close();
                System.exit(0);
            }
        }
    }

    private static void readWarship(SqlSession sqlSession, WarshipMapper warshipMapper) {
        Scanner sc = new Scanner(System.in);
        System.out.println("---------------------");
        System.out.println("查询舰娘数据");
        System.out.println("1.查询所有舰娘数据");
        System.out.println("2.按照条件进行查询");
        System.out.println("请输入下一步操作");
        int chooseNumber = sc.nextInt();
        switch (chooseNumber) {
            case 1 -> {
                System.out.println("---------------------");
                System.out.println("所有舰娘数据:");
                List warships = warshipMapper.selectAll();
                System.out.println(warships);
                warshipManagementSystem(sqlSession, warshipMapper);
            }
            case 2 -> {
                System.out.println("---------------------");
                System.out.println("按照条件进行查询(如果不知道该条件,数值可填0,字符串可填未知)");
                System.out.print("舰娘的编号:");
                int id = sc.nextInt();
                System.out.print("舰娘的英文名:");
                String englishName = sc.next();
                System.out.print("舰娘的中文名:");
                String chineseName = sc.next();
                System.out.print("舰娘的阵营:");
                String camp = sc.next();
                List warships = warshipMapper.selectByConditions(id,englishName,chineseName,camp);
                System.out.println(warships);
                warshipManagementSystem(sqlSession, warshipMapper);
            }
        }
    }

    private static void updateWarship(SqlSession sqlSession, WarshipMapper warshipMapper) {
        System.out.println("---------------------");
        System.out.println("修改舰娘数据");
        Scanner sc = new Scanner(System.in);
        System.out.print("需要修改的id:");
        int id = sc.nextInt();
        System.out.print("舰娘的英文名:");
        String englishName = sc.next();
        System.out.print("舰娘的中文名:");
        String chineseName = sc.next();
        System.out.print("舰娘的阵营:");
        String camp = sc.next();
        warshipMapper.update(id, englishName, chineseName, camp);
        warshipManagementSystem(sqlSession, warshipMapper);
    }

    private static void deleteWarship(SqlSession sqlSession, WarshipMapper warshipMapper) {
        System.out.println("---------------------");
        System.out.println("删除舰娘数据");
        Scanner sc = new Scanner(System.in);
        System.out.print("需要删除的id:");
        int id = sc.nextInt();
        warshipMapper.deleteById(id);
        warshipManagementSystem(sqlSession, warshipMapper);
    }

    private static void createWarship(SqlSession sqlSession, WarshipMapper warshipMapper) {
        Scanner sc = new Scanner(System.in);
        System.out.println("---------------------");
        System.out.println("增加舰娘数据");
        System.out.print("舰娘的英文名:");
        String englishName = sc.next();
        System.out.print("舰娘的中文名:");
        String chineseName = sc.next();
        System.out.print("舰娘的阵营:");
        String camp = sc.next();
        Warship warship = new Warship();
        warship.setEnglishName(englishName);
        warship.setChineseName(chineseName);
        warship.setCamp(camp);
        warshipMapper.add(warship);
        warshipManagementSystem(sqlSession, warshipMapper);
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024299.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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