数据库乱码:
我们可以用show variables like 'char%';查看数据库的编码集。
client:客户端的编码集
connection:连接数据库的编码
database:数据库编码
result:结果集的编码集
server:MySQL服务的编码集
system:数据库系统的编码集
在命令行中出现的乱码,因为cmd使用的是gbk的编码,而返回的result是utf8,所有出现乱码,可以采用set names gbk;命令可以解决此问题,
但这是暂时的,一旦cmd从新启动就失效了。但是可以改MySQL配置文件解决此问题。找到my.ini文件。修改default-character-set=utf8 改为 default-character-set=gbk,
从启MySQL服务。
MySQL数据库与程序的连接:
Class.forName("com.mysql.jdbc.Driver"); //加载驱动程序
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "123456";
connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
statement.execute(sql); //sql是一个字符串:代表的就是我们需要的sql语句。
String sql = "select * from student";
查询:ResultSet resultSet = statement.executeQuery(sql);
while(resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int number = resultSet.getInt("number");
int age = resultSet.getInt("age");
String address = resultSet.getString("address");
System.out.println(id+"\t"+name+"\t"+number+"\t"+age+"\t"+address);
}
表示查询student数据库中的所有记录,并在控制台显示。