发表于: 2017-10-14 19:50:41

1 725


今日完成

task13-task17

一、maven

1.完成maven环境变量配置,下载完成maven库文件。


2.创建第一个maven项目

3.配置maven 的pom.xml配置文件,添加maven风格的JDBC的jar包

双击pom.xml--点击dependencies,点击左侧add即可添加jar包。测试运行jdbc的驱动。

4.右击该项目的pom文件执行clean与install的操作。

5.在maven库下生成了相应的jar包。

二、DAO

  • 1.DAO接口,定义增删改查的方法。
  1. package MySQL;
  2. import zhongji.Hero;
  3. public interface DAO {
  4. public void add(Hero h);//增加英雄对象
  5. public void update(Hero h);//更新英雄对象
  6. public void delete(int id);//删除一个英雄对象
  7. public Hero get(int id);//查询一个英雄对象
  8. 2.设计一个类实现DAO接口
  9. (1)JDBC的连接

package MySQL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import zhongji.Hero;
public class HeroDAO implements DAO {
String driver = "com.mysql.jdbc.Driver";//声明驱动程序地址
String url = "jdbc:mysql://127.0.0.1:3306/mydata";//声明数据库地址
String user = "root";//声明用户名
String password = "1234";//声明密码
Connection cc;//声明连接类。
public HeroDAO() {//将数据库的连接语句的驱动程序初始化写在该类的构造函数中,简介明了。
try {
Class.forName(driver);
try {
cc = DriverManager.getConnection(url, user, password);//使用.getConnection方法
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

(2).重写DAO的五个方法。(仿照how2j中英雄数据库操作写的)

public static void main(String[] args) {
}
@Override
public void add(Hero h) {
// TODO Auto-generated method stub
String sql = "insert into my_hero values(null,?,?,?,?)";
try {
PreparedStatement ps = cc.prepareStatement(sql);
ps.setString(1, h.name);
ps.setFloat(2, h.hp);
ps.setInt(3, h.armor);
ps.setInt(4, h.damage);
ps.execute();
System.out.println("插入英雄对象成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void update(Hero h) {
// TODO Auto-generated method stub
String sql = "update my_hero set name = ?,hp = ?,armor = ?,damage = ? where id = ?";
try {
PreparedStatement ps2 = cc.prepareStatement(sql);
ps2.setString(1, h.name);
ps2.setFloat(2, h.hp);
ps2.setInt(3, h.armor);
ps2.setInt(4, h.damage);
ps2.setInt(5, h.id);
ps2.executeUpdate();
System.out.println("英雄数据更新成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void delete(int id) {
// TODO Auto-generated method stub
String sql = "delete from my_hero where id = " + id;
try {
PreparedStatement ps3 = cc.prepareStatement(sql);
ps3.executeUpdate();
System.out.println("删除数据成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public Hero get(int id) {
// TODO Auto-generated method stub
Hero h3 = new Hero();
String sql = "select * from my_hero where id = " + id;
try {
PreparedStatement ps4 = cc.prepareStatement(sql);
ResultSet re = ps4.executeQuery();
while (re.next()) {
h3.name = re.getString("name");
h3.hp = re.getFloat("hp");
h3.armor = re.getInt("armor");
h3.damage = re.getInt("damage");
h3.id = re.getInt("id");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return h3;
}
}

(3)测试该类的方法使用

 


明日计划;

1.学习mybatis.

2.熟悉数据库,JDBC 语句复习,java基础复习(接口)

3.上面的DAO还有一个分页查询功能没有实现,回头复习一下泛型与集合框架的知识点,把分页查询的功能也写出来。

遇到问题:

1.不知道学习mybatis还需要哪些基础知识,害怕自己学习过程中一些知识点弄得不透彻。

2.下一个任务就要使用SPRING了,这座大山马上来了,是不是也要开始学习前端与javaWEB了?

收获

1.自己完成了一段小小的代码,并实现了小小的功能,有了一定成就感了。

2.对接口与实现类,以及Java这个大家庭的框架有了第一印象。



返回列表 返回列表
评论

    分享到