您的位置:首页 > 编程语言 > Java开发

4.java,mysql jdbc简单实现(1)

2015-12-03 08:36 615 查看

1. mysql jdbc

sql语言分类:

数据定义语言(DDL):create,alert,drop

数据操作语言(DML):insert,update,delete等语句

数据查询语言(DQL):select 等

数据控制语言(DCL):grant,revoke,commit,rollback等。

sql基本操作:

创建表: create table xx(id varchar(255) primarily key,name varchar(255));

删除表:drop table xx;

插入数据:insert into xx values(‘01’, ‘jack’);

修改表:alert table xx add yyy varchar(255)

2. 建立mysql连接

1.sql 连接都需要数据库驱动mysql中的就是:mysql-connector-java-5.0.4-bin.jar;

在java中使用mysql数据库时都需要添加该jar包到path中;

(ps:mysql 5.0以上才支持存储过程和触发器)

2.driver加载

// 通过反射
String clazz = "com.mysql.jdbc.Driver";
// 装载驱动类
Class.forName(clazz);


3.connection的参数

String url = ""
+ "jdbc:mysql://localhost:3306/myjdbc?"
+ "user=root&"
+ "password=xxxxxx";
connection = DriverManager.getConnection(url);


jdbc:mysql://localhost:3306 使用的是本地数据库的3306端口;

myjdbc 使用的具体数据库;

user=root 数据库用户;

password=xxxxxx 数据用户密码;

其他属性

autoReconnect 连接失败后重新连接(boolean)

maxRows 查询结果的最大行数

userUnicode 使用unicode编码(boolean 一般都是utf-8,配合下一个属性使用)

characterEncoding 使用的编码(utf-8)

maxReconnect 最大重新连接数

示例

public class SimpleJDBCConnection {
public static Connection getConnection(){
java.sql.Connection connection = null;
String clazz = "com.mysql.jdbc.Driver";
String url = ""
+ "jdbc:mysql://localhost:3306/myjdbc?"
+ "user=root&"
+ "password=xxxx";
try {
// 装载数据库驱动
Class.forName(clazz);
connection = DriverManager.getConnection(url);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

return connection;
}
}


3. 实体对象

实体对象主要用于对应数据库的表的数据

使用简单的person(PS:写好字段后再eclipse中使用”Alt+Shift+S“出来的很多方便的快捷代码生成,比如常用的getter和setter,toString()方法)

public class Person {
public String pid;
public String pname;
public int psex;
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public int getPsex() {
return psex;
}
public void setPsex(int psex) {
this.psex = psex;
}
@Override
public String toString() {
return "Person [pid=" + pid + ", pname=" + pname + ", psex=" + psex
+ "]";
}

}


4. 测试类

在测试类中只使用简单的陈述性语句statement来查询

public class TestJDBC {
public static void main(String[] args)  {
try {
// 获取connection 连接
Connection connection = SimpleJDBCConnection.getConnection();
// 查询语句
Statement statement = connection.createStatement();
// 建立sql对象执行查询
ResultSet resultSet = statement.executeQuery("SELECT * FROM person;");
// 存储对象
Collection<Person> persons = new ArrayList<Person>();
// 循环取值
Person person = new Person();
while(resultSet.next()){
person.setPid(resultSet.getString("pid"));
person.setPname(resultSet.getString("pname"));
person.setPsex(resultSet.getInt("psex"));
persons.add(person);
}
// 关闭连接
statement.close();
System.out.println("查询结果:\n" + persons);
} catch (Exception e) {
System.out.println("数据库错误LOG:");
e.printStackTrace();
}

}
}


resultset 结果集

是查询返回结果,包含多行数据,主要的操作方法是对getString、getInt、getLong、getObject等

excute
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: