java怎么返回mysql协议

java怎么返回mysql协议,第1张

1. 在开发环境中加载指定数据库驱动程序

接下来的实验中,使用数据库MySQL,所以需要下载MySQL支持JDBC的驱动程序(mysql-connector-java-5.1.18-bin.jar)。

2. 开发环境是MyEclipse,将下载得到的驱动程序加载进开发环境中。

3. 在Java程序中加载驱动程序。

在Java程序中,通过 “Class.forName(“指定数据库的驱动程序”)”

方式来加载添加到开发环境中的驱动程序,例如Class.forName(“com.mysql.jdbc.Driver”)。

4. 创建数据连接对象:通过DriverManager类创建数据库连接对象Connection。

DriverManager类作用于Java程序和JDBC驱动程序之间,用于检查所加载的驱动程序是否可以建立连接,然后通过它的getConnection方法,根据数据库的URL、用户名和密码,创建一个JDBC

Connection 对象。代码如:Connection connection = DriverManager.getConnection(“连接数据库的URL", "用户名",

"密码”)。

其中,URL=协议名+IP地址(域名)+端口+数据库名称;用户名和密码是指登录数据库时所使用的用户名和密码。具体示例创建MySQL的数据库连接代码如下:

Connection connectMySQL =

DriverManager.geiConnection(“jdbc:mysql://localhost:3306/myuser","root"

,"root" )

5. 创建Statement对象:Statement 类的主要是用于执行静态 SQL

语句并返回它所生成结果的对象。

通过Connection 对象的 createStatement()方法可以创建一个Statement对象。例如:Statement statament =

connection.createStatement()具体示例创建Statement对象代码如下:Statement statamentMySQL =connectMySQL.createStatement()

6. 调用Statement对象的相关方法执行相对应的 SQL

语句:通过execuUpdate()方法用来数据的更新,包括插入和删除等 *** 作,例如向staff表中插入一条数据的代码:

statement.excuteUpdate( "INSERT INTO

staff(name, age, sex,address, depart, worklen,wage)" + " VALUES ('Tom1', 321,

'M', 'china','Personnel','3','3000' ) ")

7. 通过调用Statement对象的executeQuery()方法进行数据的查询,而查询结果会得到

ResulSet对象,ResulSet表示执行查询数据库后返回的数据的集合,ResulSet对象具有可以指向当前数据行的指针。通过该对象的next()方法,使得指针指向下一行,然后将数据以列号或者字段名取出。如果当next()方法返回null,则表示下一行中没有数据存在。使用示例代码如下:

ResultSet resultSel =

statement.executeQuery( "select * from staff" )

8. 关闭数据库连接:使用完数据库或者不需要访问数据库时,通过Connection的close() 方法及时关闭数据连接。

mysql返回修改后的列_PDO Mysql驱动返回结果的列类型问题

PDO的Mysql驱动返回的结果中,所有的字段都是字符串,

使用statement->getColumnMeta得到的列元信息,其中的pdo_type也表明是字符串。

php可以自动处理类型转换,比如整型和字符串,但是对于其他环境,比如传给其他平台(如flash),就要在其中一端进行类型转换,或者在协议中处理。另外,要基于查询结果的元信息构建自动化的数据处理,比如ORM,也就不方便了。

原因是,mysql驱动使用mysql_fetch_row函数取得结果集,它是个字符串数组,即所有列都是字符串方式的存储,并且没根据DB存储的类型进行转换,相应地,列的元数据也就都是字符串类型了;

另外,pdo本身的数据类型也有限,跟DB、DB客户端库函数的数据类型有差异,比如pdo没有浮点数类型。

根据pdo接口规范,只要修改mysql驱动中的两个回调函数就可以了:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8308586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存