[size=medium] 刚刚接触mysql,并且已经开始学习JDBC编程,以清晰方便的对数据库进行操作,避免了命令行的麻烦和冗余。[/size]
[size=medium] 才学习了一些JDBC对数据库操作的简单应用,主要有连接数据库、对数据库进行增、删、改、查和事务处理机制。[/size]
[size=medium] 在学习JDBC之前,在mysql命令行客户端上进行必要的mysql语句练习是很重要的,虽然很原始也很麻烦,但毕竟它是所有对mysql应用的基础前提。并且,当熟悉了命令行语句时,后面的许多学习都会显得得心应手。所以还是牢牢的把握基础关吧![/size]
[size=medium] 才学习了一些JDBC对数据库操作的简单应用,主要有连接数据库、对数据库进行增、删、改、查和事务处理机制。[/size]
//连接数据库
private void setUpConn() throws Exception{
//装载驱动
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();
//指定数据库的本机地址
String url = "jdbc:mysql://localhost:3306/demo";
//建立连接,获取连接对象
conn = DriverManager.getConnection(url, "root", "liulishi");
System.out.println("数据库已连接成功!");
//获取statement对象,用来执行查询语句
statement = (Statement) conn.createStatement();
}
//从数据库中获取字段内容
private void getContent() throws Exception{
//查询语句
String sql = "select * from userinfo";
//执行查询语句,获取结果集
ResultSet result = statement.executeQuery(sql);
//获取结果集中的字段值
while(result.next()){
int id = result.getInt("id");
String name = result.getString("name");
String pwd = result.getString("pwd");
String desc = result.getString("desc");
System.out.println("id:"+id+"name:"+name+"pwd:"+pwd+"desc:"+desc);
}
}
//插入一个数据
private void insert(String name,String pwd,String desc) throws Exception{
String sql = "insert into userinfo(name,pwd,`desc`) values('"+name+"','"+pwd+"','"+desc+"')";
int count = statement.executeUpdate(sql);
System.out.println("成功插入,生效的行数为:"+count);
}
//以id号为主键,删除一条数据
private void delete(int id) throws Exception{
String sql = "delete from userinfo where id="+id;
int count = statement.executeUpdate(sql);
System.out.println("删除成功,生效的行数为:"+count);
}
//事务处理
private void dealTransaction() throws Exception{
try{
//获取处理事务的主动权
conn.setAutoCommit(false);
String sql = "delete from userinfo where id=4";
statement.execute(sql);
//测试事务机制,一处失败处处失败!
//System.out.println(1/0);
conn.commit();
}catch(Exception ep){
conn.rollback();
System.out.println("处理失败!已经rollback!");
}
};
[size=medium] 在学习JDBC之前,在mysql命令行客户端上进行必要的mysql语句练习是很重要的,虽然很原始也很麻烦,但毕竟它是所有对mysql应用的基础前提。并且,当熟悉了命令行语句时,后面的许多学习都会显得得心应手。所以还是牢牢的把握基础关吧![/size]