-
注:模型层:主要包括两个部分,一部分是对应的数据库的映射,一部分是对数据库映射的抽象的方法。如增加,修改,删除,查询,简称CRUD。
控制层:控制数据的流通过程 ,控制CRUD方法的运用,把数据拼装起来展示给视图层。
视图层:对于数据的展示,展示给用户用的。
查看全部 -
JDBC使用详情
查看全部 -
JDBC 必要的工具
查看全部 -
数据库大致流程
查看全部 -
MVC三层架构
查看全部 -
@MySQL---List传参和StringBuilder的使用
public List<Goddess> query(List<Map<String, Object>> params) throws Exception{//传入List集合参数 List<Goddess> result=new ArrayList<Goddess>(); Connection conn=DBUtil.getConnection();//连接数据库 StringBuilder sb=new StringBuilder();//线程不安全,但大部分情况下速度快 sb.append("select * from imooc_goddess where 1=1 "); if(params!=null&¶ms.size()>0){//判断是否为空 for (int i = 0; i < params.size(); i++) { Map<String, Object> map=params.get(i); sb.append(" and "+map.get("name")+" "+map.get("rela")+" "+map.get("value")+" "); } } PreparedStatement ptmt=conn.prepareStatement(sb.toString());//预编译 System.out.println(sb.toString()); ResultSet rs=ptmt.executeQuery();//执行查询 Goddess g=null; while(rs.next()){//遍历查询结果集 g=new Goddess();//赋值 g.setId(rs.getInt("id")); g.setUser_name(rs.getString("user_name")); g.setAge(rs.getInt("age")); g.setSex(rs.getInt("sex")); g.setBirthday(rs.getDate("birthday")); g.setEmail(rs.getString("email")); g.setMobile(rs.getString("mobile")); g.setCreate_date(rs.getDate("create_date")); g.setCreate_user(rs.getString("create_user")); g.setUpdate_date(rs.getDate("update_date")); g.setUpdate_user(rs.getString("update_user")); g.setIsdel(rs.getInt("isdel")); result.add(g);//添加 } return result; }
查看全部 -
@JDBC---execute方法比较
boolean execute(String sql)
执行给定的 SQL 语句,如果SQL语句返回结果,该方法返回true,否则返回false。
ResultSet executeQuery(String sql)
执行给定的 SQL 语句,该方法返回 查询所获得的结果集ResultSet 对象
int executeUpdate(String sql)
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或DELETE语句,返回更新所影响的行数。
查看全部 -
@JDBC---预编译与日期转变
1.预编译
PreparedStatement和Statement的区别
一.代码的可读性和可维护性。
二.PreparedStatement提高性能,因在被编译后有缓存,下次用相同的不编译,传参直接执行。
三.提高安全性。PrepareStatement ptmt=conn.prepareStatement(sql);//将sql加载到驱动程序中但不执行; ptmt.setString/Int....(index,值);//index为int或String ptmt.execute;//再执行
2.日期转换
java.sql.Date类是java.util.Date类的子类
java.util.Date转java.sql.Datenew java.sql.Date(new java.util.Date().getTime());
java.sql.Date转java.util.Date
new java.util.Date(new java.sql.Date());
3.实例
//通过静态方法,获取连接数据库的连接 Connection conn = DBUtil.getConnection(); //sql语句 String sql = "insert into imooc_goddess " + "(user_name,sex,age,birthday,email,mobile, " + "create_user,create_date,update_user,update_date,isdel) " + "values(?,?,?,?,?,?,?,current_date(),?,current_date(),?);" ; //预编译sql语句 PreparedStatement ptmt = conn.prepareStatement(sql); //赋值 ptmt.setString(1, g.getUser_name()); ptmt.setInt(2, g.getSex()); ptmt.setInt(3, g.getAge()); //java.util.Date转换java.sql.Date ptmt.setDate(4, new Date(g.getBirthday().getTime())); ptmt.setString(5, g.getEmail()); ptmt.setString(6, g.getMobile()); ptmt.setString(7, g.getCreate_user()); ptmt.setString(8, g.getUpdate_user()); ptmt.setInt(9, g.getIsdel()); //执行sql语句 ptmt.execute();
查看全部 -
@JDBC---MVC的流程
MVC架构模式:View(视图层)、Control(控制层)、Model(模型层)。
Model:模型包括两部分,一个是对应数据库的映射,另一个是对数据库对应映射的方法。【如数据库操作的增查改删,简称CRUD。】
Control:控制数据流通过程。
View:将拼装起来的数据进行展示。查看全部 -
@JDBC---连接数据库
三步获取数据库连接(需导入mysql-connector-java.jar包)1.加载驱动程序: Class.forName(driverClass)
加载Mysql驱动:Class.forName("com.mysql.jdbc.Driver")
加载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver")
***注意:驱动是固定写法2.获得数据库连接:
DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root");
***注释:其中jdbc:mysql表示jdbc连接mysql,127.0.0.1:3306为服务器地址和端口,imooc为数据库名称,root分别是用户名和密码3.创建Statement对象: conn.createStatement();
4.连接数据库实例:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class DBUtil { private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc"; //imooc数据库名 //这样可以避免中文乱码 //private static final String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf8"; private static final String USER = "root"; private static final String PASSWORD = "root"; //使用static静态语句块,只会执行一次. /*private static Connection conn=null; static{ Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/imooc","root","root"); } public static Connection getConnection(){ return conn; }*/ public static void main(String[] args) throws Exception { //1.加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); //2.获取数据库连接 Connection conn = DriverManager.getConnection(URL, USER, PASSWORD); //3.通过数据库连接操作数据库,实现增删改查 Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT user_name,age FROM imooc_goddess"); while (rs.next()) { System.out.println(rs.getString("user_name") + "," + rs.getInt("age")); } } }
查看全部 -
@JDBC---JDBC简介
1、Java Data Base Connectivity(Java数据库连接):是java与数据库的桥梁,提供读写操作
2、可以为多种数据库提供统一的访问,是一种统一标准
3、通过JDBC可以连接Oracle、MySql、Sql Server数据库查看全部 -
地址,用户名,密码查看全部
-
1.JDBC java数据库连接查看全部
-
public Goddess query(String name) throws SQLException{
//实例化一个数据库对应实体类对象
Goddess g = new Goddess();
//通过connection获取数据库连接
Connection conn = DBUtil.getConnection();
//根据姓名查询对应信息
String sql = "select * from imooc_goddess where user_name = ?";
//预编译sql语句
PreparedStatement pstm = conn.prepareStatement(sql);
//对占位符参数进行赋值
pstm.setString(1, name);
//执行查询获取结果集
ResultSet rs = pstm.executeQuery();
//判断rs是否为空
if(rs.next()){
//通过实体类set方法根据查询结果为对象g赋值
g.setId(rs.getInt("id"));
g.setUser_name(rs.getString("user_name"));
g.setSex(rs.getInt("sex"));
g.setAge(rs.getInt("age"));
g.setBirthday(rs.getDate("birthday"));
g.setEmail(rs.getString("email"));
g.setMobile(rs.getString("mobile"));
g.setCreate_date(rs.getString("create_date"));
g.setCreate_user(rs.getString("create_user"));
g.setUpdate_date(rs.getString("update_date"));
g.setUpdate_user(rs.getString("update_user"));
g.setIsdel(rs.getInt("isdel"));
}
//返回对象
return g;
}
GoddessDao gs = new GoddessDao();
System.out.println(gs.query("lucy"));
查看全部 -
JDBC编程步骤
查看全部
举报