【Mysql】第8篇--数据库元数据

数据库元数据

String sql = "insert into product values(null,?,?) ";
1.根据sql语句相关的元数据: ParameterMetaData
	可以获取sql语句中 ? 的个数
	还可以获取 ? 所对应值的类型(mysql不支持)
2.跟返回值相关的元数据:  ResultSetMetaData
	String sql = "select * from product where id = 1 ";
	返回值有几列
	字段的名称分别是什么
	字段类型分别是什么

元数据:数据库、表、列的定义信息

ParameterMetaData

作用:

​ 获取PreparedStatement所编译的sql语句中 ? 的个数和类型

​ String sql = "select * from user where username = ? and password = ? ";

​ PreparedStatement pst = conn.PrepareStatement(sql);

API

​ PrepareStatement. getParameterMetaData();

​ int getParameterCount()
​ 获取PreparedStatement的SQL语句参数?的个数

​ int getParameterType(int param)

​ 获取指定参数的SQL类型。

​ 不是所有的数据库都支持,mysql不支持

使用:

​ 获取 ParameterMetaData 对象

​ 使用对象调用方法

注意实现

​ 不是所有的数据库驱动都能后取到参数类型(MySQL会出异常)

ResultSetMetaData

作用:

​ 可用于获取有关 ResultSet 对象中列的类型和属性的信息。

ResultSetMetaData

  • 如何获取 ResultSetMetaData
    • ResultSet.getMetaData()
  • int getColumnCount()
    返回此 ResultSet 对象中的列数
  • String getColumnName(int column)
    获取指定列的名称
  • String getColumnTypeName(int column)
    获取指定列的数据库特定类型名称
  • 使用步骤
      1. 获取 ResultSetMetaData 对象
      1. 使用对象调用方法

自定义一个方法完成增删改操作:


三层架构

是什么?

​ 将代码分层处理

作用

​ 高内聚,低耦合

​ 高内聚: 一个方法只专注于做一件事情

​ 低耦合: 类与类 或 方法与方法之间的关系比较弱

suanShu(int i,int j,String fuhao){
    
    
    if("+".equals(fuhao)){
    
    
        i+j;
    }...
}
A:aa(){
    
    
		B b = new B();
		
    }
B:bb(){
    
    
		new Driver(); // 和Driver类存在耦合
		Class.forName("com.mysql.....");
		Class.forName(读取配置文件);
    }

  1. 解耦:降低层与层之间的耦合性。
  2. 可维护性:提高软件的可维护性,对现有的功能进行修改和更新时不会影响原有的功能。
  3. 可扩展性:提升软件的可扩展性,添加新的功能的时候不会影响到现有的功能。
  4. 可重用性:不同层之间进行功能调用时,相同的功能可以重复使用。

分层结构

​ 表示层(view|web|controller)

​ 业务处理层(service)

​ 数据访问层(dao- Data Access Object)

​ 工具类 (utils)

​ JavaBean (domain | entity)

​ User | Student | Product …

java使用不同的包来区分不同的层.

使用三层架构思想完成用户注册功能:

需求分析:
	程序启动后,在view层提示用户输入用户名和密码,当用户输入完用户名时,获取用户输入的用户名,调用service处理业务逻辑,service调用dao查询当前用户名是否被占用.
    查询结果:
		当前用户名已存在: 提示当前用户名已被占用,请重新输入(程序重新开始)
		当前用户名不存在: 提醒用户输入密码,程序继续
	当用户输入完密码后,调用service完成用户注册的业务逻辑,调用dao完成用户注册(添加)

环境搭建:
	1.创建数据库表
	2.创建java项目和包结构(view,service,dao...)
    3.导入jar包(jdbcTemplate,druid,mysql )
	4.导入工具类
	5.导入配置文件(修改)
        
        
        

猜你喜欢

转载自blog.csdn.net/qq_41250372/article/details/125462463