您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 甘南分类信息网,免费分类信息发布

JDBC操作mysql编写及遇到的问题_MySQL

2024/3/3 4:11:53发布21次查看
一。例子来自于一本书上:
import java.sql.connection;import java.sql.drivermanager;import java.sql.resultset;import java.sql.sqlexception;import java.sql.statement;public class multiresultset { public static void main(string[] args) { connection conn = null; statement stmt = null; // todo auto-generated method stub try { //装载jdbc驱动 class.forname(com.mysql.jdbc.driver); //连接字符串:包括数据库服务器名、端口号(省略)、数据库名、 string constr = jdbc:mysql://localhost/mydb?characterencoding=utf8&allowmultiqueries=true; //获得connection对象,进行连接数据库:数据库连接字符串,用户名,密码 conn = drivermanager.getconnection(constr, root, 123456); //获得statement对象:用来操作sql语句 stmt = conn.createstatement(); //建立一个图书销售表t_booksale string createdb = create database if not exists mydb default character set utf8; string droptable = drop table if exists mydb.t_booksale;//如果存在则删除重建 string createtable = create table mydb.t_booksale( + id int unsigned not null auto_increment,+ bookid int unsigned not null,+ amount int unsigned not null,+ saledate datetime not null,+ primary key(id)) engine=innodb default charset=utf8; string insertdata1 = insert into mydb.t_booksale(bookid,amount,saledate) values(1,23,'1988-3-23'); string insertdata2 = insert into mydb.t_booksale(bookid,amount,saledate) values(1,120,'2008-5-11'); string insertdata3 = insert into mydb.t_booksale(bookid,amount,saledate) values(2,218,'2011-2-09'); stmt.execute(createdb); stmt.execute(droptable); stmt.execute(createtable); stmt.execute(insertdata1); stmt.execute(insertdata2); stmt.execute(insertdata3); //返回多个结果集resultset,使用do while处理 string selectdata = select id,name,author from t_books +;+ select bookid,amount,saledate from t_booksale; if(stmt.execute(selectdata)){ resultset rs = null; do{ rs = stmt.getresultset(); //显示查询结果 while(rs.next()){ system.out.println(rs.getstring(1));//获得id号 system.out.println(rs.getstring(2));//作者名 system.out.println(rs.getstring(3)); } }while(stmt.getmoreresults()); } } catch (exception e) { // todo auto-generated catch block e.printstacktrace(); }finally{ try { if(stmt!=null){ stmt.close(); } if(conn!=null){ conn.close(); } } catch (sqlexception e) { // todo auto-generated catch block e.printstacktrace(); } } }}
二。遇到的问题
连接字符串问题。处理多个结果集时,要加上allowmultiqueries=true。
sql语句混合写时,要注意写时的格式问题。
编码问题
access denied for user 'root'@'localhost' (using password: yes)
停止服务mysql----移除mysql服务-----安装mysql服务--------启动服务mysql
甘南分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录