宁波中软实习day2

1.JDBC操作封装

主要熟悉JDBC对数据库的操作,将增删查改操作封装起来。
工具:IDEA 2018.2, JDK 1.8, MySQL 5.5.58, jar包 :mysql-connector-java-8.0.13\mysql-connector-java-8.0.13.jar

导入jar包,配置数据库环境

1.使用idea新建项目后,进入File -> ProjectStructure,点击图中的+号,选择1,选择MySQL的jar包,点击Apply;

2.成功导入jar包;

3.进入数据库,创建数据库project,新建表users;

4.在表中录入相关数据;

5.编写数据表对应的实体类;

public class users {
    private String username;
    private String password;
    private String id;
    private String type;

    public users(String id,String username, String password, String type) {
        this.id = id;
        this.username = username;
        this.password = password;
        this.type = type;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return "users{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", id='" + id + '\'' +
                ", type='" + type + '\'' +
                '}';
    }
}

查询操作封装实现

1.配置JDBC数据库连接信息;

//mysql驱动包名
private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";
//数据库连接地址
private static final String URL = "jdbc:mysql://localhost:3306/project?serverTimezone=UTC";
//用户名
private static final String USER_NAME = "root";
//密码
private static final String PASSWORD = "*****";

2.编写释放资源函数;

public static void close(ResultSet resultSet,PreparedStatement statement,Connection conn){
    try {
        if(resultSet != null){
            resultSet.close();
        }
        if(statement != null){
            statement.close();
        }
        if(conn != null){
            conn.close();
        }
    }catch (Exception e){
        e.printStackTrace();
    }
}

本函数用以关闭相关数据库操作完成后未关闭的资源,避免重复编写连接关闭代码。

3.封装数据库查询方法

public static List<users> findAll(){
    Connection connection = null;
    PreparedStatement prst = null;
    ResultSet rs = null;
    List<users> list = new ArrayList<users>();
    try {
        //1.加载mysql的驱动类
        Class.forName(DRIVER_NAME);
        //2.获取数据库连接
        connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
        //3.mysql查询语句
        String sql = "SELECT * FROM users";
        //4.获取statement对象
        prst = connection.prepareStatement(sql);
        //5.结果集
        //prst.execute();
        rs = prst.executeQuery();
        //6.对结果集进行操作
        while (rs.next()) {
            //System.out.println("用户名:" + rs.getString("name"));
            String id = rs.getString(1);
            String name = rs.getString(2);
            String password = rs.getString(3);
            String type = rs.getString(4);
            users user = new users(id,name,password,type);
            list.add(user);
        }
        //7.关闭链接
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        Test.close(rs,prst,connection);
    }
    //System.out.println(list.toString());
    return list;
}

4.调用封装的查询方法;

List<users> queryAll = new ArrayList<users>();
queryAll = Test.findAll();
System.out.println(queryAll.toString());

直接调用查询结果,可获得查询的结果集。

插入操作封装实现

1.在前面的基础上,编写插入方法;

public static void insert(String sql){
    Connection connection = null;
    PreparedStatement prst = null;
    ResultSet rs = null;
    try {
        //1.加载mysql的驱动类
        Class.forName(DRIVER_NAME);
        //2.获取数据库连接
        connection = DriverManager.getConnection(URL, USER_NAME, PASSWORD);
        //3.mysql查询语句
        //4.获取statement对象
        prst = connection.prepareStatement(sql);
        //5.结果集
        prst.execute();
        //6.对结果集进行操作
        //7.关闭链接
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        Test.close(rs,prst,connection);
    }
}

2.调用插入函数,实现插入操作;

String insertSql = "insert into users values('2','猴子','9888','动物')";
Test.insert(insertSql)

3.插入成功;

删除操作封装实现

1.删除操作的方法步骤与插入的方法大致相同;
2.调用删除方法;

String delSql = "delete from users where id = '2'";
Test.del(delSql);

3.删除成功;

更新操作封装实现

1.更新操作的方法步骤与插入的方法大致相同;
2.调用更新方法;

String updateSql = "update users set username = '名称' where id = '1'";
Test.update(updateSql);

3.更新成功。

2.SSM项目结构

1.Java目录:Java相关代码;
bean:实体类,和数据库相对应;
dao:对数据库的操作;
service:业务层;
controller:决定url跳转到哪个界面。

2.resource:配置文件。

3.webapp:页面文件。

4.SSM项目主要技术点:
Spring:IOC(控制反转)容器,可以装载bean。常用到Spring的aop,事务管理;
SpringMVC:基于MVC的web框架;
MyBatis:对数据库的封装,将数据库表与业务实体联系起来,ORM持久层框架。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值