數據庫是爲了實現必定目的按某種規則組織起來的「數據」的「集合」。常見的數據庫管理軟件有不少,咱們主要用的是MySQL。 MySql數據庫簡單操做:一. 啓動與退出 1.啓動MySQL Command Line Client(MySQL的控制檯界面),直接輸入安裝時的密碼便可。此時的提示符爲:mysql>.2. 退出MySQL:quit或exit 庫操做:顯示全部數據庫: show databases; 建立數據庫: create database test; 刪除數據庫: drop database test;鏈接數據庫: use test;查看當前鏈接的數據庫: select database();當前數據庫包含的表: show tables; 3、表操做2.刪除表 drop table students; 3.插入數據 insert into students(stuno,name,gender,birthdate,major,age) values('201010001', 'zhangsan', 'm', '1992-10-01','cs',25);4. 查詢表中的數據 select * from students;5. 刪除表中數據刪除students表中編號爲1 的記錄delete from students where id = 1; JDBC簡介:咱們剛纔是以命令行的方式來操做數據庫?那麼怎樣使用java代碼來操做數據庫呢?可使用Java中的JDBC API.java.sql.DriverManager:加載驅動、創建鏈接做用:載入各類不一樣的JDBC驅動 java.sql.Connection :數據庫鏈接 java.sql.Statement :處理鏈接中的SQL語句 java.sql.ResultSet :處理結果集 JDBC編程通常步驟 1.與數據庫創建鏈接(Connection) 2.向數據庫發送SQL語句(statement) 3.得到和處理查詢或更新語句返回的結果 注:使用查詢語句可得到ResultSet 4.關閉鏈接,釋放資源 通常來講ResultSet、Statement、Connection使用完後要馬上關閉
//201521123014 public class JDBCTest { /** * 使用JDBC鏈接並操做mysql數據庫 */ public static void main(String[] args) { // 數據庫驅動類名的字符串 String driver = "com.mysql.jdbc.Driver"; // 數據庫鏈接串 String url = "jdbc:mysql://127.0.0.1:3306/jdbctest"; // 用戶名 String username = "root"; // 密碼 String password = "mysqladmin"; Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 一、加載數據庫驅動( 成功加載後,會將Driver類的實例註冊到DriverManager類中) Class.forName(driver ); // 二、獲取數據庫鏈接 conn = DriverManager.getConnection(url, username, password); // 三、獲取數據庫操做對象 stmt = conn.createStatement(); // 四、定義操做的SQL語句 String sql = "select * from user where id = 100"; // 五、執行數據庫操做 rs = stmt.executeQuery(sql); // 六、獲取並操做結果集 while (rs.next()) { System.out.println(rs.getInt("id")); System.out.println(rs.getString("name")); } } catch (Exception e) { e.printStackTrace(); } finally { // 七、關閉對象,回收數據庫資源 if (rs != null) { //關閉結果集對象 try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (stmt != null) { // 關閉數據庫操做對象 try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { // 關閉數據庫鏈接對象 try { if (!conn.isClosed()) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } }
1)加載(註冊)數據庫驅動(到JVM)。 2)創建(獲取)數據庫鏈接。 3)建立(獲取)數據庫操做對象。 4)定義操做的SQL語句。 5)執行數據庫操做。 6)獲取並操做結果集。 7)關閉對象,回收數據庫資源(關閉結果集-->關閉數據庫操做對象-->關閉鏈接)。
public class BaseDao { // 初始化參數 private Connection con; private PreparedStatement pstmt; private ResultSet rs; public void update(String sql,Object[] paramsValue){ try { // 獲取鏈接 con = JdbcUtil.getConnection(); // 建立執行命令的stmt對象 pstmt = con.prepareStatement(sql); // 參數元數據: 獲得佔位符參數的個數 int count = pstmt.getParameterMetaData().getParameterCount(); // 設置佔位符參數的值 if (paramsValue != null && paramsValue.length > 0) { // 循環給參數賦值 for(int i=0;i<count;i++) { pstmt.setObject(i+1, paramsValue[i]); } } // 執行更新 pstmt.executeUpdate(); } catch (Exception e) { throw new RuntimeException(e); } finally { JdbcUtil.closeAll(con, pstmt, null); } } 編寫實際操做的Dao類繼承自BaseDao public class AdminDao extends BaseDao { // 刪除 public void delete(int id) { String sql = "delete from admin where id=?"; Object[] paramsValue = {id}; super.update(sql, paramsValue); } // 插入 public void insert(Admin admin) { String sql = "insert into admin (userName,pwd) values (?,?)"; Object[] paramsValue = {admin.getUserName(),admin.getPwd()}; super.update(sql, paramsValue); } // 查詢所有 public List<Admin> getAll(){ String sql = "select * from admin"; List<Admin> list = super.query(sql, null, Admin.class); return list; } // 根據條件查詢(主鍵) public Admin findById(int id){ String sql = "select * from admin where id=?"; List<Admin> list = super.query(sql, new Object[]{id}, Admin.class); return (list!=null&&list.size()>0) ? list.get(0) : null; } }
DAO (Data Access Objects) 數據訪問對象,這些對象用於訪問修改數據庫。這樣作的好處是,數據庫的修改只要修改DAO層的訪問方式就能夠了,不用整個項目都進行修改。隔離業務邏輯代碼和數據訪問代碼,
隔離不一樣數據庫的實現。html
在碼雲的項目中,依次選擇「統計-Commits歷史-設置時間段」, 而後搜索並截圖java
Model是模型,通常而言,會有人分的更細,VO,DTO等等。我並不推薦分的更細,這個Model經常和持久化的數據一一對應,如Mysql和MongoDB。
Model承載的做用就是數據的抽象,描述了一個數據的定義,Model的實例就是一組組的數據。整個系統均可以當作是數據的 流動,既然要流動,就必定是有流動的載體。
對於初學者而言,第一個要學會,就是建模,把業務邏輯映射成數據模型。mysql
Util是工具的意思,通常來講,經常用來描述和業務邏輯沒有關係的數據處理。Util通常要和私有方法對比:私有方法通常來講是隻是在特意場景下使用的,私有方法越多,代碼結構越亂。常見的重構策略就是首先從一個越長行數的代碼裏抽象出若干個私有方法,而後再抽出公用的Util。若是有可能,儘量的少用私有方法,而是把他換成一個公用的Util,表明他和業務邏輯是不相關的。一般命名也是ArticleUtil,CommentUtil之類的。sql
Service比Util的概念大不少,它的重點是在於提供一個服務。這個服務可能包括一系列的數據處理,也有可能會調用多個Util,或者是調用別的服務。總歸一句話,就是,有什麼事情,你來找我。數據庫
Dao通常而言,都是用來和底層數據庫通訊,負責對數據庫的增刪改查編程
Controller控制中心,全部的指令,調度都從這裏發出去。哪個Service作什麼事兒,誰的數據提供給誰,通常而言,都是在Controller裏實現的。安全
參考連接工具