// 1 注册驱动
try {
ClassforName("commysqljdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}// Mysql 的驱动
// 2 获取数据库的连接
javasqlConnection conn = javasqlDriverManagergetConnection(
"jdbc:mysql://localhost/testuseUnicode=true&characterEncoding=GBK", "root", null);
// 3 获取表达式
javasqlStatement stmt = conncreateStatement();
// 执行插入数据的 SQL
stmtexecuteUpdate("insert into MyUser(username, password) values('JDBC 中文测试', '密码')");
// 4 执行 SQL
javasqlResultSet rs = stmtexecuteQuery("select from MyUser");
// 5 显示结果集里面的数据
while(rsnext()) {
Systemoutprintln(rsgetInt(1));
Systemoutprintln(rsgetString("username"));
Systemoutprintln(rsgetString("password"));
Systemoutprintln();
}
// 6 释放资源
rsclose();
stmtclose();
connclose();
原因:tomcat找不到MYSQL JAR包
解决方法:如果建的是web工程,把mysql-connector-java-505-binjar导入到tomcat的lib目录下,如果是java工程,请右键build path--add active 那个选项并找到你的文件,点击打开即可
报什么错呢?
是不是远程的Mysql 不允许远程连接的原因?
你可以按下面的 *** 作试一下。
首先,进入MYSQL:mysql -u root -p
密码:
然后可以进入到MYSQL数据库里,查看里面的user表。
执行命令:use mysql;
select host,user from user;这里可以看到
+-----------+------------------+
| host | user |
+-----------+------------------+
| 127001 | root |
| localhost | debian-sys-maint |
| localhost | root |
| namenode | root |
+-----------+------------------+
黑体部分是127001 将这个更新为%即是所有的地址都可以访问
update user set host='%' where host='127001'退出
然后打开mysql目录下的mycnf文件,找到
bind-address = 127001 将 后面改为你服务器的IP地址保存退出,重新启动mysql,OK,就可以远程登录了
首先要安装有JDK(一般是JDK15X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-505zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-505-binjar加到classpath里,具体如下:“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-505\mysql-connector-java-505-binjar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
环境配置好了,很简单。现在,先配置MySQL,设其用户名为“root”,密码为“root”。在命令行或用一个SQL的前端软件创建Database。
我是用SQLyog的前端软件来创建Database的。
先创建数据库:
CREATE DATABASE SCUTCS;
接着,创建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 00000,
PRIMARY KEY(SNO)
);
然后插入数据,可以用SQL语句insert into <表名> values (value1, value2, );
也可以用SQLyog来 *** 作
好了,创建好了。
下面,我们来编写java文件来演示一下如何访问MySQL数据库。
import javasql;
public class JDBCTest {
public static void main(String[] args){
// 驱动程序名
String driver = "commysqljdbcDriver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127001:3306/scutcs";
// MySQL配置时的用户名
String user = "root";
// MySQL配置时的密码
String password = "root";
try {
// 加载驱动程序
ClassforName(driver);
// 连续数据库
Connection conn = DriverManagergetConnection(url, user, password);
if(!connisClosed())
Systemoutprintln("Succeeded connecting to the Database!");
// statement用来执行SQL语句
Statement statement = conncreateStatement();
// 要执行的SQL语句
String sql = "select from student";
// 结果集
ResultSet rs = statementexecuteQuery(sql);
Systemoutprintln("-----------------");
Systemoutprintln("执行结果如下所示:");
Systemoutprintln("-----------------");
Systemoutprintln(" 学号" + "\t" + " 姓名");
Systemoutprintln("-----------------");
String name = null;
while(rsnext()) {
// 选择sname这列数据
name = rsgetString("sname");
/ 何问起 hovertreecom /
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
name = new String(namegetBytes("ISO-8859-1"),"GB2312");
// 输出结果
Systemoutprintln(rsgetString("sno") + "\t" + name);
}
rsclose();
connclose();
} catch(ClassNotFoundException e) {
Systemoutprintln("Sorry,can`t find the Driver!");
eprintStackTrace();
} catch(SQLException e) {
eprintStackTrace();
} catch(Exception e) {
eprintStackTrace();
}
}
}
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javatextSimpleDateFormat;
import javautilDate;
public class JDBCMySQL {
// 驱动程序就是之前在classpath中配置的jdbc的驱动程序的jar包中
public static final String DBDRIVER = "orggjtmmmysqlDriver";
// 连接地址是由各个数据库生产商单独提供的,所以需要单独记住
public static final String DBURL = "jdbc:mysql://localhost:3306/mldn";
// 连接数据库的用户名
public static final String DBUSER = "root";
// 连接数据库的密码
public static final String DBPASS = "mysqladmin";
public static void main(String[] args) throws Exception {
Connection conn = null; // 表示数据库的连接的对象
PreparedStatement pstmt = null; // 表示数据库的更新 *** 作
String name = "张三";
int age = 30;
Date date = new SimpleDateFormat("yyyy-MM-dd")parse("1983-02-15");
float salary = 70000f;
String sql = "INSERT INTO person(name,age,birthday,salary) VALUES (,,,) ";
Systemoutprintln(sql) ;
// 1、使用Class类加载驱动程序
ClassforName(DBDRIVER);
// 2、连接数据库
conn = DriverManagergetConnection(DBURL, DBUSER, DBPASS);
// 3、PreparedStatement接口需要通过Connection接口进行实例化 *** 作
pstmt = connprepareStatement(sql) ;// 使用预处理的方式创建对象
pstmtsetString(1, name) ;// 第一个?号的内容
pstmtsetInt(2, age) ; // 第二个?号的内容
pstmtsetDate(3, new javasqlDate(dategetTime())) ;
pstmtsetFloat(4,salary) ;
// 执行SQL语句,更新数据库
pstmtexecuteUpdate();
// 4、关闭数据库
pstmtclose() ;
connclose();
}
}
以上就是关于java连接mysql全部的内容,包括:java连接mysql、java连接MySQL数据库的步骤、Java程序远程连接mysql数据库失败是怎么回事等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)