美文网首页
JDBC ORM 与 DAO

JDBC ORM 与 DAO

作者: 荣荣的靓仔小馒头 | 来源:发表于2020-05-15 22:28 被阅读0次

ORM 即Object Relationship database mapping

对象和数据库关系的映射,数据库转换成java对象
一个对象代表一条记录

映射函数

package jdbc;
 
import java.util.List;
public interface DAO{
    //增加
    public void add(Hero hero);
    //修改
    public void update(Hero hero);
    //删除
    public void delete(int id);
    //获取
    public Hero get(int id);
    //查询
    public List<Hero> list();
    //分页查询
    public List<Hero> list(int start, int count);
}

对象封装

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();
// 此处getString是获取第二列的值,且该值为String型
                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();
        }

DAO Database Access Object

提供一个公共接口,代码进行模块化封装

package jdbc;
 
import java.sql.Connection;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
 
import charactor.Hero;
 
public class HeroDAO implements DAO{
 
//将公共使用的数据库驱动放在构造方法中
    public HeroDAO() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
//构造一个链接的方法 
    public Connection getConnection() throws SQLException {
        return DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8", "root",
                "admin");
    }
 
    public int getTotal() {
        int total = 0;
        try (Connection c = getConnection(); Statement s = c.createStatement();) {
 
            String sql = "select count(*) from hero";
 
            ResultSet rs = s.executeQuery(sql);
            while (rs.next()) {
                total = rs.getInt(1);
            }
 
            System.out.println("total:" + total);
 
        } catch (SQLException e) {
 
            e.printStackTrace();
        }
        return total;
    }
 

相关文章

  • JDBC:ORM与DAO

    ORM:Object Relationship Database Mapping,对象和关系数据库的映射,简单地说...

  • JDBC ORM 与 DAO

    ORM 即Object Relationship database mapping 对象和数据库关系的映射,数据库...

  • Java面试题之Spring(三)

    1.解释Spring JDBC 。Spring DAO 和Spring ORM Spring-DAO并非Sprin...

  • Java自学-JDBC DAO

    基于JDBC设计DAO的实例 DAO=DataAccess Object 数据访问对象 实际上就是运用了ORM中的...

  • Spring JDBC 相关知识

    一、数据访问 数据库访问,JDBC 事务管理 ORM整合 1.DAO Data Access Object ,即数...

  • 009-JDBC,防SQL注入

    DBC JDBC的开发步骤 JDBC代码实现 JDBC实现查询 ORM思想 ORM代码实现 ORM的核心代码 抽取...

  • (spring)Dao

    DAO 学习dao前有数据库基础,java与数据库连接使用的是jdbc,在此前我已学习过jdbc也不再介绍jdbc...

  • 五、(三)持久层框架——JDBC

    使用JDBC 使用JDBC模板 使用DAO支持类

  • Java ORM框架简介 JDBC-JPA-Hibernate_

    Java ORM框架简介 一、JDBC & ORM(Object Relational Mapping)框架 所有...

  • JDBC DAO

    DAO: Data Access Object 使用 DAO 可以更好的实现功能的模块化,更有利于代码的维护和升级...

网友评论

      本文标题:JDBC ORM 与 DAO

      本文链接:https://www.haomeiwen.com/subject/jyrhohtx.html