IDEA-Maven-Mybatis基础框架搭建

这篇具有很好参考价值的文章主要介绍了IDEA-Maven-Mybatis基础框架搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

搭建项目结构

创建Maven模块

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

搭建mysql数据库结构

1. 创建数据库

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

2. 新建数据表并添加字段和约束

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

3. 完成后查看数据表

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

搭建项目结构

1. 搭建包结构

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

2. 在pom.xml中引入项目依赖(坐标)

    会优先去本地仓库进行查找,已有的会进行提示在写的时候,写完记得刷新一下(右上角  没有的会去中央仓库进行下载,联网情况下 

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

3. 在resource目录下引入Mybatis.config配置文件和db.properties配置文件

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

driver=com.mysql.cj.jdbc.Driver  // mysql驱动
url=jdbc:mysql://localhost:3306/数据库名
username=用户名
password=密码

// 8.0.30 数据库连接是这样

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

    <properties resource="db.properties"></properties>
<!--    连接Mysql数据库-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>

            </dataSource>
        </environment>
    </environments>

    <mappers>
<!--   SQL Mapper 接口所在包-->
        <package name="com.itheima.mapper"/>
        
    </mappers>
    <settings>
<!--        Mybatis默认日志-->
        <setting name="logImpl" value="stdout_logging"/>
    </settings>

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

搭建学员管理系统框架

1. 编写MybatisUtil工具类

public class MybatisUtil {

    // 保证在程序执行期间只有一个Factory (工厂模式生成session对象)
    private static SqlSessionFactory sqlSessionFactory;

    // 静态代码块来初始化   sqlSessionFactory
    static {

        try {
            InputStream in = Resources.getResourceAsStream("MybatisConfig.xml");
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    // 提供一个公告方法供 其它类获取session会话
    public static SqlSession opSession() {
        return sqlSessionFactory.openSession();
    }

    // 提交和关闭事务
    public static void commitAndClose(SqlSession sqlSession) {
        sqlSession.commit();
        sqlSession.close();
    }


}

2.编写 Student 实体类

public class Student {

    private Integer id;
    private String name;
    private String sex;
    private Integer age ;
    private Double height;

    public Student() {
    }

    public Student(Integer id, String name, String sex, Integer age, Double height) {
        this.id = id;
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.height = height;
    }

    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", height=" + height +
                '}';
    }

    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Double getHeight() {
        return height;
    }

    public void setHeight(Double height) {
        this.height = height;
    }
}

3.编写Mapper接口类

public interface StuMapper {
    @Options(useGeneratedKeys = true,keyProperty = "id") // 开启主键,Stu的id接收
    @Insert("insert into student values(null,#{name},#{sex},#{age},#{height})")
    public void save(Student stu);

    @Select("select * from student")
    public ArrayList<Student> findAll();

    @Select("select * from student where id = #{id}")
    public Student findStuById(Integer id);

    @Update("update student set name = #{name}, sex = #{sex},age = #{age} , height = #{height} where id = #{id}")
    public void updateStu(Student stu);

    @Delete("delete from student where id =#{id}")
    public void deleteStu(Integer id);

}

4.搭建主方法框架


    public static void main(String[] args) {

        while (true) {

            System.out.println("********************************************************");
            System.out.println("1.增加学员   2.删除学员   3.修改学员   4.查询学员  5.退出 ");
            System.out.println("********************************************************");

            System.out.println("请选择您的选择:(1-5)");
            String op = sc.next();

            switch (op) {
                case "1":
                    addStu();
                    break;
                case "2":
                    deleteStu();
                    break;
                case "3":
                    updateStu();
                    break;
                case "4":
                    findAll();
                    break;
                case "5":
                    System.out.println("谢谢使用本系统,拜拜!");
                    System.exit(0);
                default:
                    System.out.println("您的输入有误!");
                    break;
            }
        }
    }

5.实现学员信息管理(增删改查)

①增加学员
  private static void addStu() {

        System.out.println("请输入姓名:");
        String name = sc.next();
        System.out.println("请输入性别:");
        String sex = sc.next();
        System.out.println("请输入年龄:");
        int age = sc.nextInt();
        System.out.println("请输入身高:");
        double height = sc.nextDouble();
        Student student = new Student();

        student.setName(name);
        student.setSex(sex);
        student.setAge(age);
        student.setHeight(height);

        SqlSession sqlSession = MybatisUtil.opSession();
        StuMapper mapper = sqlSession.getMapper(StuMapper.class);
        mapper.save(student);
        System.out.println("添加成功!主键id: " + student.getId());
        MybatisUtil.commitAndClose(sqlSession);



    }
② 删除学员
    private static void deleteStu() {

        findAll();
        System.out.println("请输入要修改的学员学号:");
        int id = sc.nextInt();
        SqlSession sqlSession = MybatisUtil.opSession();
        StuMapper mapper = sqlSession.getMapper(StuMapper.class);

        Student student = mapper.findStuById(id);

        if (student == null) {
            System.out.println("没有该学员信息!");
            return;
        }
        System.out.println("================================================================");
        System.out.println("----------------------------------------------------------------");
        System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t身高");

        System.out.println(student.getId()+"\t\t\t"+student.getName()+"\t\t\t"+student.getSex()+"\t\t"+
                student.getAge()+"\t\t\t"+student.getHeight());

        System.out.println("----------------------------------------------------------------");

        System.out.println("请确认是否删除该学员:(Y/N)");
        String op = sc.next();
        if ("y".equalsIgnoreCase(op)) {
            sqlSession = MybatisUtil.opSession();
            mapper = sqlSession.getMapper(StuMapper.class);
            mapper.deleteStu(id);
            MybatisUtil.commitAndClose(sqlSession);
            System.out.println("删除成功!");

        }
            else {
            System.out.println("取消修改!");
            return;
        }
    }
③修改学员
    private static void updateStu() {

        findAll();
        System.out.println("请输入要修改的学员学号:");
        int id = sc.nextInt();
        SqlSession sqlSession = MybatisUtil.opSession();
        StuMapper mapper = sqlSession.getMapper(StuMapper.class);

        Student student = mapper.findStuById(id);

        if (student == null) {
            System.out.println("没有该学员信息!");
            return;
        }

        //回显数据
        System.out.println("================================================================");
        System.out.println("----------------------------------------------------------------");
        System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t身高");

            System.out.println(student.getId()+"\t\t\t"+student.getName()+"\t\t\t"+student.getSex()+"\t\t"+
                    student.getAge()+"\t\t\t"+student.getHeight());

        System.out.println("----------------------------------------------------------------");


        System.out.println("请选择是否修改姓名:(Y/N)");
        String op = sc.next();
        if ("y".equalsIgnoreCase(op)) {
            System.out.println("请输入新姓名:");
            String newName = sc.next();
            student.setName(newName);
        }
        System.out.println("请选择是否修改性别:(Y/N)");
        op = sc.next();
        if ("y".equalsIgnoreCase(op)) {
            System.out.println("请输入新性别:");
            String newNSex = sc.next();
            student.setSex(newNSex);
        }
        System.out.println("请选择是否修改年龄:(Y/N)");
         op = sc.next();
        if ("y".equalsIgnoreCase(op)) {
            System.out.println("请输入新年龄:");
            int newAge = sc.nextInt();
            student.setAge(newAge);
        }
        System.out.println("请选择是否修改身高:(Y/N)");
        op = sc.next();
        if ("y".equalsIgnoreCase(op)) {
            System.out.println("请输入新身高:");
            double newHheight = sc.nextDouble();
            student.setHeight(newHheight);
        }


        sqlSession = MybatisUtil.opSession();
        mapper = sqlSession.getMapper(StuMapper.class);
        mapper.updateStu(student);
        MybatisUtil.commitAndClose(sqlSession);

        System.out.println("修改已完成!");

    }
④ 查询学员
    private static void findAll() {

        SqlSession sqlSession = MybatisUtil.opSession();
        StuMapper mapper = sqlSession.getMapper(StuMapper.class);
        ArrayList<Student> stus = mapper.findAll();

        MybatisUtil.commitAndClose(sqlSession);

        if (stus.size() == 0 || stus == null) {
            System.out.println("暂无数据!");
            return;
        }

        System.out.println("【学员信息】");
        System.out.println("================================================================");
        System.out.println("----------------------------------------------------------------");
        System.out.println("学号\t\t姓名\t\t性别\t\t年龄\t\t身高");

        for (Student student : stus) {
            System.out.println(student.getId()+"\t\t\t"+student.getName()+"\t\t\t"+student.getSex()+"\t\t"+
                    student.getAge()+"\t\t\t"+student.getHeight());
        }
        System.out.println("----------------------------------------------------------------");
    }

运行结果

1. 添加功能测试

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

2.查询功能测试

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

3.修改功能测试

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

4.删除功能测试

IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java

补充:关于Mapper接口下@SQL五提示为绿色问题

在sql语句中 alt + enter(回车)选择如图所示语句,搜索mysql点击确认就可以了
IDEA-Maven-Mybatis基础框架搭建,IDEA-Java各开发环境安装和常见问题解决,intellij-idea,maven,mybatis,java文章来源地址https://www.toymoban.com/news/detail-562386.html

到了这里,关于IDEA-Maven-Mybatis基础框架搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Maven项目中使用Mybatis框架

    1.写一个实体类 2.编写OwnerMapper接口 3.编写 OwnerMapper.xml文件 总结:这里已经算是成功完成了一个插入操作,想进行其他的操作只需在mapper接口里添加方法,再在对应的xml文件里写sql语句就行了。注意的是有的时候你不止一个实体类,这时候你编写新的mapper接口和新的xml文件后

    2024年02月13日
    浏览(32)
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Maven使用前准备

    一.Maven准备 注意:IDEA2019.1.x 最高支持Maven的3.6.0 下载地址:http://maven.apache.org/ Maven底层使用Java语言编写的,所以需要配置JAVA_HOME环境变量及Path 将Maven解压 非中文无空格 目录下 配置 MAVEN_HOME 环境变量及 Path 新建系统变量MAVEN_HOME,添加变量值maven根目录 编辑系统变量Path,添

    2024年02月09日
    浏览(46)
  • Maven和MyBatis框架简单实现数据库交互

    MyBatis是一种基于Java语言的持久层框架,它的主要目的是简化与数据库的交互过程。MyBatis通过XML或注解配置来映射Java对象和数据库表之间的关系,并提供了灵活的查询方式和结果集处理机制。MyBatis还提供了事务管理、缓存机制、插件扩展等特性。 使用MyBatis可以将SQL语句和

    2024年01月17日
    浏览(48)
  • IDEA开发实现Maven+Servlet+Mybatis实现CRUD管理系统-Mapper代理开发

    之前我们写的代码是基本使用方式,它也存在硬编码的问题,如下: 这里调用 selectList() 方法传递的参数是映射配置文件中的 namespace.id值。这样写也不便于后期的维护。如果使用 Mapper 代理方式(如下图)则不存在硬编码问题。 通过上面的描述可以看出 Mapper 代理方式的目的

    2024年02月05日
    浏览(41)
  • mybatis入门Idea搭建

    目录 一、概念 1、什么是mybatis? 2、MyBatis主要有那些几个作用? 3、MyBatis适用场景 4、MyBatis步骤搭建思路 二、搭建MyBatis框架环境 1、web.xml 2、pox.xml更改 3、Jdbc.properties 4、准备插件 5、mybatis.cfg.xml 6、generatorConfig.xml 三、MyBatis的基础操作CRUD  1、MyBatis自动生成  2、 编写业务

    2024年02月09日
    浏览(35)
  • idea+maven+selenium环境搭建

    目录 1.idea下载安装: 2.maven下载与配置: ​-编辑-下载完后解压安装包​编辑 -配置环境变量 -打开cmd执行命令mvn -version验证是否配置成功 -.m2文件 -配置镜像仓库 3.idea中创建maven项目 4.selenium配置 -idea官网下载地址IntelliJ IDEA: The Capable Ergonomic Java IDE by JetBrains maven是Apache基于A

    2024年02月05日
    浏览(34)
  • idea 搭建 SpringBoot 集成 mybatis

    编译器:IDEA 环境:win10,jdk1.8,maven3.5 数据库:mysql 5.7 一、打开IDEA新建项目 1. 如果你是第一次使用IDEA,那么你需要配置你本地的maven,点击右下角 Configure,如已配置请忽略此步骤 在下拉框中选择setting,然后如下图操作,选择自己本地的maven路径与maven配置文件 点击OK 2.新

    2024年02月15日
    浏览(39)
  • IDEA 搭建 Maven模块化项目

    目录 1.前言 2. 软硬件环境 3.项目搭建 3.1.创建 SpringBoot 父项目 3.2. 构建子项目centerdao 3.3. 构建子项目centerweb 4. 建立父子 Module 依赖 4.1 删除不必要文件 4.2.修改 Parent 项目 packaging 4.3.修改子项目pom.xml 信息 4.4.补充说明 5. 项目继承关系 6. 验证项目 7.异常处理  8.结语 鸣谢    

    2024年02月04日
    浏览(46)
  • IDEA 使用 maven 搭建 spring mvc

    1.1 创建成功之后配置 Spring MVC 1.2 勾选 Spring MVC 2.1 更改web.xml配置 更改为 2.2 dispatcher-servlet.xml配置 注意 base-package 换成自己存放 Controller 包的路径 2.3 pop.xml 安装 spring-webmvc 然后点击 Apply,即可。 右上角 run 跑一下。 访问 /hello: 如果Tomcat 跑不起来,看看 Tomcat 控制台是不是出

    2024年02月15日
    浏览(57)
  • 若依框架(前后端分离) 之IDEA中Maven后端打包

    Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理,是一个自动化构建工具。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的(

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包