xiaobin's studio

jdbc简单实现

字数统计: 665阅读时长: 3 min
2015/12/03 Share

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等

原文作者:小镔

原文链接:http://www.shaoxiaobin.com/2015/12/03/2015-12-03jdbc简单实现/

发表日期:December 3rd 2015, 9:00:00 am

更新日期:January 10th 2019, 11:29:38 pm

版权声明:非商业用途,转载请注明出处:邵小镔 http://www.shaoxiaobin.com

CATALOG
  1. 1. 1. mysql jdbc
    1. 1.0.1. 示例