JDBC系列教材 (九)- 使用JDBC做一个ORM例子

ORM=Object Relationship Database Mapping 

对象和关系数据库的映射 

简单说,一个对象,对应数据库里的一条记录

步骤1:根据id返回一个Hero对象
步骤2:练习-ORM
步骤3:答案-ORM

步骤 1 : 根据id返回一个Hero对象

提供方法get(int id)
返回一个Hero对象

package charactor;

public class Hero {

    //增加id属性

    public int id;

    public String name;

    public float hp;

    public int damage;

}

package jdbc;

   

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

  

import charactor.Hero;

   

public class TestJDBC {

   

    public static Hero get(int id) {

        Hero hero = null;

        try {

            Class.forName("com.mysql.jdbc.Driver");

        catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

        try (Connection c = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8","root""admin");

            Statement s = c.createStatement();) {

            String sql = "select * from hero where id = " + id;

   

            ResultSet rs = s.executeQuery(sql);

   

            // 因为id是唯一的,ResultSet最多只能有一条记录

            // 所以使用if代替while

            if (rs.next()) {

                hero = new Hero();

                String name = rs.getString(2);

                float hp = rs.getFloat("hp");

                int damage = rs.getInt(4);

                hero.name = name;

                hero.hp = hp;

                hero.damage = damage;

                hero.id = id;

            }

   

        catch (SQLException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return hero;

   

    }

   

    public static void main(String[] args) {

           

        Hero h = get(22);

        System.out.println(h.name);

   

    }

}


更多内容,点击了解: https://how2j.cn/k/jdbc/jdbc-orm/391.html

原文地址:https://www.cnblogs.com/Lanht/p/12615460.html