简述
在第一个场景我们输入好账号密码和昵称之后,点击开始游戏此时的游戏账号就应该插入到角色这个表里,本期的任务就是了解如何在java里插入数据以及查找数据。
jdbc的一些驱动类
DriverManager类
DriverManage类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动之间建立连接,DriverManager类中的方法都是静态方法
getConnection(String URL,String user,String PassWord) 指定3个参数,分别是连接地址,用户名和密码类连接数据库 setLoginTimeout() 获取驱动程序视图登陆到某一数据库可以等待的最长时间,以秒为单位 Println(String message) 将一条信息打印到当前JDBC日志流中
Connection类
Connection 接口代表与特定的数据库的连接,要对数据库中的数据进行操作,首先要获取数据库连接,Connection实就像在应用程序与数据库之间开通了一条通道.可以通过DriverManager类的getConnection()方法获取Connection的实例。
createStatement() 创建Statement对象 PrepareStatement() 创建预处理对象PrepareStatement isReadOnly() 查看当前Connection对象的读取模式是否是只读形式 SetReadOnly() 设置当前Connection对象的读写模式,默认是非只读模式 close() 立即释放此Connection对象的数据库和JDBC资源,而不是自动释放
Statement类
Statement接口用于创建向数据库中传递SQL语句的对象
execute(String sql) 执行静态的SELECT语句 可能返回多个数据集 executeQuery(String sql) 执行给定的Sql语句 返回单个ResultSet对象 clearBatch() 清空此Statement对象的当前SQL命令列表 executeUpdate() 执行指定的SQL语句 该语句可以为INSERT UPDATE DELETE语句 close() 释放Statement实例占用的数据库和JDBC资源
PreparedStatement 类
PreparedStatement接口继承Statement,用于执行动态的SQL语句 ,通过PreparedStatement实例执行的SQL语句,将被编译并保存到PreparedStatement实例中,从而可以重复的执行该SQL语句
execute( ) 在此PreparedStatement对象执行SQL语句,该语句可以是任何类型的SQL语句 executeQuery( ) 在此preparedStatement对象中执行Sql查询语句,返回为查询数据集的对象 executeUpdate() 在此preparedStatement对象执行Sql语句,该SQL语句必须是一个INSERT UPDATE DELETE语句,或者是没有返回值得DLL语句 setbyte(int Pindex byte by) 将参数Pindex位置上设置为给定的byte参数by setString(int Pindex String str)将参数Pindex位置上设置为给定的String参数值str setDouble(int pindex Double dou)将参数Pindex位置上设置为给定的Double参数值dou setInt(int Pindex int i) 将参数Pindex位置上设置为给定的int参数值i setObject(int PIndex Ocject obj)将参数Pindex位置上设置为给定的Object参数值Obj
ResultSet 类
ResultSet接口类似于一个临时的数据表,用来暂时存放数据库查询操作获取到的数据集
getint() 以int形式获取当前行指定的列 getFloat() 以Float形式获取当前行指定的列 getDate() 以Date形式获取当前行指定的列 getBoolean() 以Boolean形式获取当前行指定的列 getString() 以String形式获取当前行指定的列 getObject() 以Object形式获取当前行指定的列 next( ) 将指针向下移一行 updateInt() 用int值更新指定列 updateFloat()用float值更新指定列 updateLong() 用指定的long值更新指定的列 updateString()用指定的"String"值更新指定列 updateObejct() 用object值更新指定的列 updatenull() 将指定的列值修改为null updateDate() 用指定的Date值更新指定的列 updateDouble() 用指定的DOuble值更新指定的列
scene1中角色数据的插入
在我们scene1中填写好三个文本框后,点击开始游戏的瞬间,jdbc应当把三条数据插入到角色表。所以我们在按钮处设置事件驱动,用TextField的getText().trim()方法获取输入的数据,然后用PreparedStatement将这三个字符串作为参数,执行更新操作。
可以看到我们的数据成功地插入进去了,需要注意不能插入相同账号的数据,因为主键是唯一的。