发表于: 2017-12-01 22:43:44
3 774
昨天开始弄JdbcTemplate,感觉比较难,在师兄的指导下(让我开始从原生的jdbc开始链接数据库)
------>今天就开始着手coding
1.新建一个java -->demo
在建一个jdbc的包
建一个java的jdbc链接的util
编写jdbcUtil链接数据库的类
package com.fuwei.util;
import java.sql.Connection;
import java.sql.DriverManager;
public class JdbcUtil {
/*
* 链接数据了并且将其封装 可以供其他数据操作调用 װ
*/
@SuppressWarnings("finally")
public static Connection getConnection() {
Connection conn=null;
String driverName="com.mysql.jdbc.Driver";
String dbURL="jdbc:mysql://localhost:3306/student";
String userName="root";
String userPwd="666666";
try {
Class.forName(driverName);
conn = DriverManager.getConnection(dbURL,userName,userPwd);
}
catch(Exception e)
{
e.printStackTrace();
} finally{
return conn;
}
}
public static void main(String[] args) {
Connection conn=JdbcUtil.getConnection();
if (conn==null) {
System.out.println("error");
}else {
System.out.println("finish");
}
}
}
运行代码测试成功
第一步完成(链接数据库用原生的jdbc)----->
接下来就是写一个实体类实现增删改查的基本功能
创建一个实体类User
我最先是测试,就只写了id 和 name 两个字段
接下来创建UserDao业务查询的业务层
package com.fuwei.dao;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.fuwei.model.User;
import com.fuwei.util.JdbcUtil;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
public class UserDao {
// 获得所有的商品信息
public ArrayList<User> getAll() {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
ArrayList<User> list = new ArrayList<User>(); // 商品集合
try {
conn =(Connection) JdbcUtil.getConnection();
String sql = "select * from stu_information;"; // SQL语句
stmt = (PreparedStatement) conn.prepareStatement(sql);
rs = stmt.executeQuery();
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("id"));
user.setUsername(rs.getString("username"));
user.setClasses(rs.getString("classes"));
user.setBirthday(rs.getString("birthday"));
user.setCity(rs.getString("city"));
user.setQq(rs.getInt("qq"));
user.setDesc(rs.getString("desc"));
user.setPhone(rs.getInt("phone"));
list.add(user);// 把一个商品加入集合
}
return list; // 返回集合。
} catch (Exception ex) {
ex.printStackTrace();
return null;
} finally {
// 释放数据集对象
if (rs != null) {
try {
rs.close();
rs = null;
} catch (Exception ex) {
ex.printStackTrace();
}
}
// 释放语句对象
if (stmt != null) {
try {
stmt.close();
stmt = null;
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
public static void main(String[] args) {
List<User> userList=new ArrayList<User>();
UserDao userDao=new UserDao();
userList=userDao.getAll();
System.out.println(userList+"++++-+-");
}
}
运行的结果(这个不是我要结果,弄了好久我也获取不了里面的值)--->自己也改不了
[com.fuwei.model.User@3099e91c, com.fuwei.model.User@48974631, com.fuwei.model.User@43816032, com.fuwei.model.User@62d2953d, com.fuwei.model.User@6f440a7a, com.fuwei.model.User@5c0c08a7, com.fuwei.model.User@1a0c3b27, com.fuwei.model.User@18ff8acd, com.fuwei.model.User@30f1a58d, com.fuwei.model.User@48abe515]
这个是DAO的我自己写了方法测试,但是打印的是user里面的字符法人码,不知道怎么回事.但是可以运行查询没有报错,今天弄了一个下午,主要是不熟悉,我还是没有解决问题不能转成我想要的数据
今天的收获:就是开始coding了有些不熟悉,但是查资料,和相关的以前的知识,可以解决,但是还是有些不舍很熟悉,学到了jdbc的链接原生的,以前有了解,但是每次都是复制以前的,今天是自己慢慢的写的,感觉好多是以前没有注意到的细节,好友那个后面获取的数据我不知道什么意思(好像是那个几个字段的什么码的格式)
明天计划:再次把接下来的任务完成,熟悉jdbc的其他证明实现,还有解决那个user里面获取的数据
遇到的困难:就是那个获取的数据不知道转成什么格式,也不能转换成我先要最终的数据,这个有点麻烦
还有就是jdbc我不熟悉,我还是慢慢查资料慢慢解决的(以前没有注意到的细节和重点)
收获:就是jdbc的一些细节更加熟悉,还有dao层有了更深入的了解,还有业务的基本也是在dao层,就是明白自己还有不足的在jdbc 的一些细节也很重要的地方,这些后面的任务倒要用到,今天还是比较忙碌的一天,查了很多资料
加油坚持------------> 麻烦师兄帮我解决上面那个问题(我想了很久没有解决)
评论