MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性,MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。

1、Java 连接 MySQL 需要驱动包,Mysql服务器目前最新版本为:mysql-5.6.22-winx64.zip

下载地址为:http://dev.mysql.com/downloads/mysql/4.1.html

2、JDBC驱动目前最新版本为:mysql-connector-java-3.1.14

下载地址为: http://dev.mysql.com/downloads/connector/j/3.1.html

在数据库中创建测试数据,执行插入sql语句如下:

CREATE TABLE `students` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(20) NOT NULL DEFAULT '' COMMENT '姓名',
  `age` varchar(255) NOT NULL DEFAULT '',
  `sex` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

定义实体类,为了便于操作和接口定义,是非必须的:

public class Student {
	private String id;
	private String name;
	private String sex;
	private String age;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getAge() {
		return age;
	}

	public void setage(String age) {
		this.age = age;
	}
}

连接mysql数据库工具类,代码如下:

private static Connection getConn() {
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/dbname";// 连接Url地址
    String username = "root";
    String password = "123456";
    Connection conn = null;
    try {
Class.forName(driver); //classLoader,加载mysql驱动
conn = (Connection) DriverManager.getConnection(url, username, password);
    } catch (ClassNotFoundException e) {
e.printStackTrace();
    } catch (SQLException e) {
e.printStackTrace();
    }
    return conn;
}

请将localhost改成你实际应用中的Mysql服务器地址,dbname改成你实际的数据库名。

insert(插入)

private static int insert(Student student) {
    Connection conn = getConn();
    int i = 0;
    String sql = "insert into students (name,sex,age) values(?,?,?)";
    PreparedStatement pstmt;
    try {
pstmt = (PreparedStatement) conn.prepareStatement(sql);
pstmt.setString(1, student.getName());
pstmt.setString(2, student.getSex());
pstmt.setString(3, student.getAge());
i = pstmt.executeUpdate();
pstmt.close();
conn.close();
    } catch (SQLException e) {
e.printStackTrace();
    }
    return i;
}

update(修改)

private static int update(Student student) {
    Connection conn = getConn();
    int i = 0;
    String sql = "update students set age='" + student.getAge() + "' where name='" + student.getName() + "'";
    PreparedStatement pstmt;
    try {
pstmt = (PreparedStatement) conn.prepareStatement(sql);
i = pstmt.executeUpdate();
System.out.println("resutl: " + i);
pstmt.close();
conn.close();
    } catch (SQLException e) {
e.printStackTrace();
    }
    return i;
}

select(查询)

private static Integer selectAll() {
    Connection conn = getConn();
    String sql = "select * from students";
    PreparedStatement pstmt;
    try {
pstmt = (PreparedStatement)conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
int col = rs.getMetaData().getColumnCount();
while (rs.next()) {
    for (int i = 1; i <= col; i++) {
System.out.print(rs.getString(i) + "\t");
if ((i == 2) && (rs.getString(i).length() < 8)) {
    System.out.print("\t");
}
     }
    System.out.println("");
}
    } catch (SQLException e) {
e.printStackTrace();
    }
    return null;
}

delete(删除)

private static int delete(String name) {
    Connection conn = getConn();
    int i = 0;
    String sql = "delete from students where name='" + name + "'";
    PreparedStatement pstmt;
    try {
pstmt = (PreparedStatement) conn.prepareStatement(sql);
i = pstmt.executeUpdate();
System.out.println("resutl: " + i);
pstmt.close();
conn.close();
    } catch (SQLException e) {
e.printStackTrace();
    }
    return i;
}

关注下方微信公众号“Java精选”(w_z90110),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信