JAVA学习数据库8

1.每一个实体BEAN具有属性,数据库的每一行就是一个对象。jdbc就是完成bean和数据库对象的转化,磁盘和内存的转换。

2.JDBC,全称是 java database connection 。是java连接数据库的一套标准。该标准提供了大量接口,这些接口由厂商根据自身数据库的特点各自做实现,由用户进行接口方法调用。用户根据接口调用厂商做的实现类,可以品比不同数据库的差异,无论连接什么数据库,都是一套api.

3.DAO = data access object  一种架构模式,建立实体类和数据库表的映射。也就是哪个类对应哪个表。哪个属性对应哪个列,所以完成数据库操作的本质就是完成对象数据和关系数据的转换。
1.新建工程JDBC,导入jar包,然后建立一个实体bean的包,专门放所有的实体bean。实体bean的属性产生的对象可以接收所有的表格内容
2.给bean加入属性,来映射数据库里的所有列,get,set tostring  ,有参构造方法(构造方法要去掉数据库中的id,因为不是属性,只是一个自动增长列),再重载一个无参构造方法。
3.新建接口,I开始 Dao结束,给接口定义几个方法,增删改查
4.新建一个实现类,实现 接口,并添加未实现方法,重写方法。

  异常类型: you have an error 就是sql语句有问题
5.实现类添加了接口的方法之后,就要开始对每个方法进行重写,重写的内容就是,建立连接,内容读写,关闭连接。
5.1 比如add方法里面:
     1.加载驱动    Class.forname(复制限定名),并捕捉异常,记得修改异常为爸爸类exception
     2.在方法里,try外定义   connection cn=null  的cn来接收drivermanager。getconnection返回的连接,preparedstatement ps来接收con。preparedstatement  返回的预存对数据库里面固定添加语句,(insert into 表名+(列名) +values(?,?,?,?));

    •           一定注意,Statement 和PreparedStament的区别
    •           Statement是PreparedStament的父类,采用Stament执行sql语句,由于sql语句的值一般由用户提供,所以只能采用拼接字符串的方式设置,这样随着值的不同,系统会多做几次sql语句的编译操作,所以效率低,而且容易引起sql注入(既输入的值可能有特殊符号,sql关键字等,造成错误执行)。
    •           preparedstatement 提供占位符机制,将要设置值的地方都用占位符表示,这样无论什么值都是一个sql语句。不会进行多次编译操作,效率高。而且无论值是什么,都会做字符串处理,不会引起sql注入。
    •           sql注入,采用拼接字符串方式,拼sql语句是,如果值中有sql的关键字或特殊符号,可能导致运行结果不正确,或sql语法错误。,这就称为sql注入,解决sql注入的方法,采用preparedstatement代替statement

     3.预存的数据库的加入方法确定后,就可以对 ?  进行 java的关联,就使用   ps.setint ,setString ,setDATE来实现  Bean 和数据库列的转化
     4.列内容写入之后,就可以保存数据   ps.executeupdate.
     5.关闭连接。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值