java的jdbc连接数据库,读取表中数据
连接数据库操作步骤如下
- 架包 jar
- 建表
- 源码解析
1:架包 jar
根据自己本版本选择正确jar包,本例采用maven 管理局,在pom.xml 中添加如下代码,自动下载架包
1 2 3 4 5 | <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.25</version> </dependency> |
2:建表
DROP TABLE IF EXISTS `tb_user`; CREATE TABLE `tb_user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) DEFAULT NULL, `password` varchar(20) DEFAULT NULL, `head_root` varchar(80) DEFAULT NULL, `realname` varchar(10) DEFAULT NULL, `netname` varchar(20) DEFAULT NULL, `email` varchar(20) DEFAULT NULL, `age` int(10) DEFAULT NULL, `sex` varchar(2) DEFAULT NULL, `birth_year` int(10) DEFAULT NULL, `birth_month` int(10) DEFAULT NULL, `birth_day` int(10) DEFAULT NULL, `addressid` int(11) DEFAULT NULL COMMENT '地址详细信息', `tall` double(11,0) DEFAULT NULL, `user_grade` varchar(10) DEFAULT NULL, `income` double(20,0) DEFAULT NULL, `marry` varchar(5) DEFAULT NULL, `marrySex` varchar(2) DEFAULT NULL, `gexingmsg` varchar(80) DEFAULT NULL, `vip` int(10) DEFAULT NULL, `money` int(11) DEFAULT NULL, `renzheng` varchar(10) DEFAULT NULL, `fenlei` varchar(10) DEFAULT NULL, `biaoqian` int(11) DEFAULT NULL, `user_black` int(11) DEFAULT NULL, `user_youhui` int(11) DEFAULT NULL, `user_work` varchar(10) DEFAULT NULL, `user_home` int(11) DEFAULT NULL, `user_car` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
3:源码
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; /** * @author Evan * */ public class JDBCTest { public static void main(String[] args) throws Exception { Connection connection = null; PreparedStatement prepareStatement = null; ResultSet rs = null; try { // 加载驱动 Class.forName("com.mysql.jdbc.Driver"); // 获取连接 String url = "jdbc:mysql://127.0.0.1:3306/test"; String user = "root"; String password = "asplover"; connection = DriverManager.getConnection(url, user, password); // 获取statement,preparedStatement String sql = "select * from tb_user where id=?"; prepareStatement = connection.prepareStatement(sql); // 设置参数 prepareStatement.setLong(1, 1); // 执行查询 rs = prepareStatement.executeQuery(); // 处理结果集 while (rs.next()) { System.out.println("用户名:"+rs.getString("userName")); System.out.println("密码为:"+rs.getString("password")); } } finally { // 关闭连接,释放资源 if (rs != null) { rs.close(); } if (prepareStatement != null) { prepareStatement.close(); } if (connection != null) { connection.close(); } } } }
做产品的程序,才是好的程序员!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)