JAVA对mysql的基本操作
一、了解几个概念(了解)
1.DriverManager
1)必须知道它是管理数据库的所有驱动程序
2)它的所有方法都是静态的,其中最重要的是getConnection()方法,我们可以通过它获取一个数据库的连接对象。
2.Connection
数据库连接对象
3.Resultset
1)用来暂时存放查询结果的一个对象
2)最重要的方法时next()方法,该方法将指针下移一行
4.Statement和preparedStatement的区别
它俩的区别主要是PrepareStatement把sql语句中的变量抽取出来了,它俩可以互相替换使用。
例子:
String sql = "select * from users where username= '"+username+"' and userpwd='"+userpwd+"'";
stmt = conn.createStatement();
rs = stmt.executeQuery(sql); String sql = "select * from users where username=? and userpwd=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setString(2, userpwd);
rs = pstmt.executeQuery();
5.execute、executeQuery和executeUpdate的区别
1)execute执行增删改查操作
2)executeQuery执行查询操作,返回的正是ResultSet,再对ResultSet对象进行遍历,即可查询结果。
3)executeUpdate执行的是增删改操作
JAVA操作mysql实例:
说明:对数据库db5中的test表进行操作,test表中有三个字段,分别是name,age,sex
public class test2 {
private static String url = "jdbc:mysql://localhost:3306/db5";
private static String user = "root";
private static String password = "123456";
private static String DriverName = "com.mysql.jdbc.Driver";
public static Connection GetConn() {
Connection conn = null;
try {
Class.forName(DriverName);
conn = DriverManager.getConnection(url, user, password);
System.out.println("数据库连接成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
return conn;
}
}
public static void insert() throws SQLException {
Connection conn = GetConn();
// String sql = "insert into test(name,age,sex) values ('yj1',1,'f')";
// Statement statement = conn.createStatement();
// statement.executeUpdate(sql);
String sql = "insert into test(name,age,sex) values (?,?,?)";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setString(1, "yj2");
preparedStatement.setInt(2, 4);
preparedStatement.setString(3, "f");
preparedStatement.executeUpdate();
conn.close();
}
public static void select() throws SQLException {
Connection conn = GetConn();
String sql = "select * from test";
Statement statement = conn.createStatement();
ResultSet set = statement.executeQuery(sql);
String name = null;
String sex = null;
int age;
//next 看是否有下一个数据
while (set.next()) {
name = set.getString(1);
age = set.getInt(2);
sex = set.getString("sex");
System.out.println(name + age + sex);
}
conn.close();
}
public static void update() throws SQLException{
Connection conn = GetConn();
String sql = "update test set age=? where name = ?";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setInt(1,200);
preparedStatement.setString(2,"yj1");
preparedStatement.executeUpdate();
conn.close();
}
public static void delete() throws SQLException{
Connection conn = GetConn();
String sql = "delete from test where name = 'yj1'";
Statement st = conn.createStatement();
st.executeUpdate(sql);
conn.close();
}
public static void main(String[] args) throws SQLException {
}
}
JAVA对mysql的基本操作的更多相关文章
- java 连接 MySQL
java 连接 MySQL 1.准备工作 需要下载的工具: MySQL:http://www.mysql.com/downloads/ MySQL的可视化工具SQLyog:https://www.we ...
- servlet中Java连接数据库后的基本操作
servlet中Java连接数据库后的基本操作 在eclipse中新建一个工程:login 在Server中新建一个服务器,基本的操作不用说了,在前两天的笔记中可以找到; 需要知道数据库的用户名和密码 ...
- java连接mysql
Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...
- java调用mysql服务做备份与恢复
首先添加mysql的bin到环境变量,这样可以简写部分命令,并且做到不依赖系统mysql的具体安装路径. 重启计算机可以让添加的环境变量在java代码中调用时生效.(cmd中生效但java中调用没有生 ...
- Java实现MySQL数据库导入
距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...
- Java实现MySQL数据库备份(二)
权声明:本文为博主原创文章,未经博主允许不得转载. 博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这种方法比较繁杂,下面介绍另一种备份MyS ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- 让Java和MySQL连接起来
Java 连接 MySQL 需要驱动包,可以下载菜鸟教程提供的 jar 包:http://static.runoob.com/download/mysql-connector-java-5.1.39- ...
- java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和 ...
随机推荐
- 【Java】【14】从后往前每隔n位加逗号(用于货币)
1,String类型的数据 /** * @param strValue 待处理的数 * @param num 隔的位数 */ public static String separateStr(Stri ...
- 记一次mybatis bindingexception 问题排查
看到的错误信息如出一辙都是这样的:Method threw 'org.apache.ibatis.binding.BindingException' exception.Invalid bound s ...
- css过渡
过渡transition是一个复合属性 例子1 .example{ width: 200px; height: 100px; background-color: blanchedalmond; tra ...
- Mac OS X 操作系统下IntelliJ IDEA激活码(Activation code)破解
Mac OS X 操作系统(版本:10.13.6)下载并安装IntelliJ IDEA: Version: 2018.2.4 Download IntelliJ IDEA 下一步对IntelliJ I ...
- OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 问题处理
OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 问题处理如下: 解决方法一:更换连接方式 config 文件配置: <add name="MASTER_DB&q ...
- sys 模块的应用
1.常见的sys模块的应用: 1.在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称 argv(命令行参数个数) #!/usr/bin/env python ...
- FormData上传文件(input file)
<div> <input type="file" name="FileUpload" id="FileUpload" va ...
- linux jpg文件查找木马
find ./ -type f -name "*.jpg" | xargs grep "eval"
- 微信或QQ屏蔽域名,爆红域名如何在微信打开,如何进行微信域名防封?
近很多朋友都会遇到这个问题,为什么我的微信域名或者QQ域名怎么总是提示拦截呢?在这里跟大家说一下吧: 第一点:就是域名里面的内容违规或者诱导被举报而导致的拦截 第二点:就是被用户或者同行恶意举报而导致 ...
- c++重要知识点
C++重要知识点精华总结 cin的使用: 1>cin>>a;键盘读入数据赋值给a; 1>程序的输入都建有一个缓冲区,即输入缓冲区.一次输入过程是这样的,当一次键盘输入结束时会将 ...