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

Java 创建三层框架附属mysq封装(源)

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

Java 创建三层框架附属mysq封装(源)

1.新建一个new project项目

2.点击next

3.取一个名字

在java文件夹下面创建文件

创建名字为

1.Controller -- 用于接受用户传过来的数据

2.Serive -- 用于处理数据的业务

3.Dao -- 用于容器里面的增删改查

4.entry -- 主方法入口

5.Util -- 直接调用包 

6.pojo -- 创建对象

点击右侧的Database

 选择mysql

 输入自己的账号和密码,然后点击OK

 点击创建数据库表

CREATE TABLE `student` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(10) DEFAULT NULL COMMENT '姓名',
      `number` varchar(20) DEFAULT NULL COMMENT '学号',
      PRIMARY KEY (`id`)
      ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='学生表';

在pojo里面创建一个学生类Student

package pojo;

public class Student {
    private String name;
    private int age;

    public Student() {
    }

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public Student(int id, String name, String number) {
    }

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

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

数据库增删改查工具类

public class JDBCDemo {


    
    //TODO 先跑一下主方法
    public static void main(String[] args) throws Exception {

        // 增加
        add("刘一", "s20220315");
        add("陈二", "s20220316");
        add("张三", "s20220317");
        add("李四", "s20220318");
        add("王五", "s20220319");
        add("赵六", "s20220320");
        // 删除
        delete(1);
        // 修改
        update(1, "王二", "123456");
        // 查询
        select();
    }

    
    private static void add(String name, String number) throws Exception {
        Connection conn = getConnection();
        //3. 定义sql
        String sql = "INSERT INTO `student`(`name`, `number`) VALUES ('" + name + "', '" + number + "')";
        //4. 获取执行sql的对象 Statement
        Statement stmt = conn.createStatement();
        //5. 执行sql
        int count = stmt.executeUpdate(sql);
        //6. 处理结果
        if (count > 0) {
            System.out.println("执行成功");
        }
        //7. 释放资源
        stmt.close();
        conn.close();
    }

    
    public static void delete(Integer id) throws Exception {
        Connection conn = getConnection();
        //3. 定义sql
        String sql = "DELETE FROM student WHERe id = " + id;
        //4. 获取执行sql的对象 Statement
        Statement stmt = conn.createStatement();
        //5. 执行sql
        int count = stmt.executeUpdate(sql);
        //6. 处理结果
        if (count > 0) {
            System.out.println("执行成功");
        }
        //7. 释放资源
        stmt.close();
        conn.close();
    }


    
    public static void update(Integer id, String name, String number) throws Exception {
        Connection conn = getConnection();
        //3. 定义sql
        String sql = "UPDATE `student` SET `name` = '" + name + "', `number` = '" + number + "' WHERe `id` = " + id;
        System.out.println("修改sql语句:" + sql);
        //4. 获取执行sql的对象 Statement
        Statement stmt = conn.createStatement();
        //5. 执行sql
        int count = stmt.executeUpdate(sql);
        //6. 处理结果
        if (count > 0) {
            System.out.println("执行成功");
        }
        //7. 释放资源
        stmt.close();
        conn.close();
    }

    
    public static ArrayList select()  {
        ArrayList students=new ArrayList<>();

        try{
            Connection conn = getConnection();
            //3. 定义sql
            String sql = "select * from student";
            //4. 获取执行sql的对象 Statement
            Statement stmt = conn.createStatement();
            //5. 执行sql
            ResultSet rs = stmt.executeQuery(sql);
            //6. 处理结果
            // 6.1 光标向下移动一行,并且判断当前行是否有数据


            while (rs.next()) {
                // 6.2获取数据  getXxx()
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String number = rs.getString("number");
                Student student = new Student(id, name, number);
                students.add(student);
            }

            //7. 释放资源
            stmt.close();
            conn.close();
        }catch (Exception e){
            e.printStackTrace();
        } finally {

        }
        return students;

    }


    public static Connection getConnection() throws Exception {
        //1. 注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2. 获取连接
        String url = "jdbc:mysql://127.0.0.1:3306/demo?useSSL=false";
        String username = "root";
        String password = "root";
        Connection conn = DriverManager.getConnection(url, username, password);
        return conn;
    }

然后点击运行

执行成功
执行成功
执行成功
执行成功
执行成功
执行成功
修改sql语句:UPDATE `student` SET `name` = '王二', `number` = '123456' WHERe `id` = 1

如果执行不了,请在pom.xml

标签上面写入


        
            mysql
            mysql-connector-java
            8.0.23
        
    

在dao文件创建一个接口StudentDao

import com.itheima.pojo.Student;

import java.util.ArrayList;

import com.itheima.pojo.Student;

import java.util.ArrayList;

public interface StudentDao {
    
    ArrayList findAllData();

}

在dao文件下面创建一个impl文件夹在创建一个StudentDaoImpl

import com.itheima.dao.StudentDao;
import com.itheima.pojo.Student;
import com.itheima.util.JDBCDemo;

import java.util.ArrayList;

public class StudentDaoImpl implements StudentDao {
    @Override
    public ArrayList findAllData() {
        ArrayList list = JDBCDemo.select();
        return list;
    }


}

Service文件夹创建一个StudentService接口

import com.itheima.dao.StudentDao;
import com.itheima.dao.impl.StudentDaoImpl;
import com.itheima.pojo.Student;
import com.itheima.service.StudentService;

public interface StudentService {

    ArrayList findStudent();
}

在进入service文件创建一个impl文件

import com.itheima.dao.StudentDao;
import com.itheima.pojo.Student;
import com.itheima.util.JDBCDemo;

public class StudentServiceImpl implements StudentService {

    private StudentDao studentDao = new StudentDaoImpl();
    @Override
    public ArrayList findStudent() {
        ArrayList list = studentDao.findAllData();
        return list;
    }
}

在controller文件创建一个StudentController

import com.itheima.pojo.Student;
import com.itheima.service.StudentService;
import com.itheima.service.impl.StudentServiceImpl;

import java.util.ArrayList;

public class StudentController {
    private StudentService studentService = new StudentServiceImpl();
    public void find(){
        ArrayList list = studentService.findStudent();
        if (list.size() == 0){
            System.out.println("暂无数据");
			return;
        }

        System.out.println("idttt年龄ttt名字");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }

    public static void main(String[] args) {
        new StudentController().find();
    }
}

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

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

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