JDBC访问Mysql数据库
来源:互联网 发布:淘宝上可以点外卖吗 编辑:程序博客网 时间:2024/04/24 23:05
新建一个maven工程,用的spring框架
1. 在pom.xml中天街mysql的依赖
1.1 版本号管理
<properties> <kinpy-domain.version>1.0.0-SNAPSHOT</kinpy-domain.version> <kinpy-common.version>1.0.0-SNAPSHOT</kinpy-common.version> <junit-version>4.4</junit-version> <java.version>1.7</java.version> <guava.version>19.0</guava.version> <java.encoding>GBK</java.encoding> <spring.version>2.5.6</spring.version> <mysql.version>5.1.44</mysql.version> </properties>
1.2 添加jar包依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version></dependency><dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version></dependency>
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mydbname"/> <property name="username" value="xxxxx"/> <property name="password" value="xxxxx"/> </bean></beans>
package galaxy.com.db.model;public class UserDO { private Integer id; private String name; private Integer age; private String job; /** * Getter method for property <tt>id</tt>. * * @return property value of id */ public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } /** * Getter method for property <tt>name</tt>. * * @return property value of name */ public String getName() { return name; } public void setName(String name) { this.name = name; } /** * Getter method for property <tt>age</tt>. * * @return property value of age */ public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } /** * Getter method for property <tt>job</tt>. * * @return property value of job */ public String getJob() { return job; } public void setJob(String job) { this.job = job; }}
4. DAO接口
package galaxy.com.db.jdbc;import galaxy.com.db.model.UserDO;public interface UserDAO { void insert(UserDO userDO); UserDO queryByUserId(Integer id);}
package galaxy.com.db.jdbc.impl;import galaxy.com.db.jdbc.UserDAO;import galaxy.com.db.model.UserDO;import org.springframework.stereotype.Component;import javax.annotation.Resource;import javax.sql.DataSource;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;@Componentpublic class UserDAOImpl implements UserDAO { @Resource private DataSource dataSource; @Override public void insert(UserDO userDO) { String sql = "INSERT INTO user(name, age, job) " + "VALUES(?,?,?);"; Connection conn = null; try{ conn = dataSource.getConnection(); PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1, userDO.getName()); ps.setInt(2, userDO.getAge()); ps.setString(3, userDO.getJob()); ps.executeUpdate(); ps.close(); }catch (Exception e){ e.printStackTrace(); }finally { if(conn != null){ try { conn.close(); } catch (SQLException e) { } } } } @Override public UserDO queryByUserId(Integer id) { UserDO userDO = null; String sql = "SELECT * FROM user WHERE id=?"; Connection conn = null; try{ conn = dataSource.getConnection(); PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, id); ResultSet resultSet = ps.executeQuery(); if(resultSet.next()){ userDO = new UserDO(); userDO.setId(resultSet.getInt(1)); userDO.setName(resultSet.getString("name")); userDO.setAge(resultSet.getInt("age")); userDO.setJob(resultSet.getString("job")); } resultSet.close(); ps.close(); return userDO; }catch (Exception e){ e.printStackTrace(); }finally { if(conn != null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } return null; }}
从DAO实现类的代码来看,还是有很多jdbc底层的交互代码需要开发者来实现,不够简洁,接下来会用ibatis来实现db的访问,简化代码,请看下一篇
阅读全文
0 0
- JDBC访问MySQL数据库
- JDBC访问Mysql数据库
- JDBC访问MySQL数据库 (Type1)
- 通过JDBC访问MySql数据库
- 利用JDBC访问MySQL数据库
- JDBC 与 mysql 数据库访问
- Ibatis+JDBC+Mysql数据库访问
- 用JDBC访问MySql数据库
- JDBC 的 HelloWorld 程序, 数据库访问MySQL
- JDBC访问MySQL数据库实现过程
- java使用JDBC访问MYSQL数据库
- Java中使用JDBC访问MySQL数据库
- Android数据库:通过JDBC直接访问MySql
- Java通过JDBC访问MySQL数据库实例
- java通过JDBC访问mysql数据库
- eclipse通过jdbc访问mysql数据库
- java之通过JDBC访问Mysql数据库
- 6.通过JDBC访问MySql数据库
- 【测序平台】-CP0001-illunina测序平台-中文在线技术研讨会视频资料
- ES6——Number扩展
- Spark踩坑记——初试
- 大数据的学习规划
- LeetCode 322. Coin Change
- JDBC访问Mysql数据库
- ZOJ3943-Himalayas
- [Usaco2009 Feb]庙会捷运Fair Shuttle
- 15. 3Sum
- 烟台大学新秀赛 A.贺大和他的朋友们【约瑟夫环】
- Spark踩坑记——数据库(Hbase+Mysql)
- leetcode62. Unique Paths
- tf.compat.as_bytes
- Python函数式编程——map()、reduce()