This week, we first temporarily ended the advanced knowledge of java and entered the study of database:
Advanced part of java:
1. Multi-threading: Thread concurrency (multiple threads operate shared variables) ;
lock mechanism, keywords are synchronize (safety, lock objects and methods), WAIT, notify
(pessimistic) dead lock, wait, notify, notifyall;
2. Network programming: UDP data broadcast (the data sender only needs to send one copy to the switch, and the switch is responsible for making n copies of this information and sending it to all machines)
Http Protocol (HyperText Transfer Protocol)
Json data format, syntax rules: JSON Object {"attribute name": "Attribute value"}
json array ["Element 1", "Element 2" ...]
JSON plug-in: -JSON-LIB
- Gson ##- Jackson
- Fastjson -Alibaba
;
database part: (using MySQL5.5 database, and Navicat graphics tools to operate)
3. System and MySQL commonly used command
system commands (with by the Run as administrator)
net start mysql
’s ’s ’s ’ s ’ s ’ ‐ ‐ ‐ ‐ ‐‐ ‐‐ net stop mysql
mysql -uroot -p password
# Backup database instance mysqldump -uroot -proot mydb > d:/mydb.sql
’ s ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ d:/mydb.sql to uroot -proot mydb tbuser > d:/tbuser.sql
Mysql common commands
:-Show the database instance
Show databases;
-Create the database instance
Create database Mydb;
-Display all database tables in the instance
Show Tables;
## SQL statement
# Auto_increment: Set up columns, which can be used for the primary key column and the unique column of non -air (not null unique)
, alter, drop
. Language: control authority) revork, grant; 5. (Integrity Conditions) Constraints: 1. Primary key constraint
2. Foreign key constraint
4. Unique constraint
5. Check constraint (mysql does not support it yet)
. FROM target table
【GROUP BY column Name】
## [HAVING Query Conditions]
## 【Order By column name ASC | Desc】
【LIMIT [偏移行,]记录行数】
单表查询:模糊查询(“%”,“_”),聚合函数
多表查询:等值连接,外连接
mysql函数的使用。
import java.io.Serializable; /** * 工作详情类 * @author NIUXUYUAN */ public class Jobs implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private String id; //id private String experience; //工作经验 private String city; //工作地点 private String industry; //行业 private String detail; //工作详情 private String company; //公司 private String jobname; //职位 public Jobs(String id, String experience, String city, String industry, String detail, String company, String jobname) { super(); this.id = id; this.experience = experience; this.city = city; this.industry = industry; this.detail = detail; this.company = company; this.jobname = jobname; } @Override public String toString() { return "Jobs [id=" + id + ", experience=" + experience + ", city=" + city + ", industry=" + industry + ", detail=" + detail + ", company=" + company + ", jobname=" + jobname + "]"; } public String toString(int i) { return experience+city+industry+detail+company+jobname; } public Jobs() { // TODO Auto-generated constructor stub } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getExperience() { return experience; } public void setExperience(String experience) { this.experience = experience; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getIndustry() { return industry; } public void setIndustry(String industry) { this.industry = industry; } public String getDetail() { return detail; } public void setDetail(String detail) { this.detail = detail; } public String getCompany() { return company; } public void setCompany(String company) { this.company = company; } public String getJobname() { return jobname; } public void setJobname(String jobname) { this.jobname = jobname; } }
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; public class AddJobs { static List<Jobs> list = new ArrayList<>(); File file = new File("jobs"); /** * 输入数据 * @throws IOException */ public void input() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("以id/experience/education/city/industry/detail/company/jobname格式填入:"); String msg = ""; while(!(msg = br.readLine()).equalsIgnoreCase("quit")) { add(msg); } br.close(); } /** * 将数据变为Jobs对象存入list集合 * @param msg */ private void add(String msg) { String[] s = msg.split("/"); Jobs job = new Jobs(s[0], s[1], s[2], s[3], s[4], s[5], s[6]); list.add(job); } private void checkFile() throws FileNotFoundException, IOException, ClassNotFoundException { if(file.length()>0) { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); List<Jobs> temp = (List<Jobs>)ois.readObject(); if(temp!=null) { list.clear(); for(Jobs t:temp) { list.add(t); } } ois.close(); } } public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException { AddJobs aj = new AddJobs(); if(!aj.file.exists()) { aj.file.createNewFile(); } aj.checkFile(); aj.input(); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(aj.file)); oos.writeObject(list); oos.close(); } }
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.List; public class Query { static List<Jobs> list = new ArrayList<>(); File file = new File("jobs"); /** * 查看file文件,将数据导入list集合 * @throws FileNotFoundException * @throws IOException * @throws ClassNotFoundException */ private void checkFile() throws FileNotFoundException, IOException, ClassNotFoundException { if(file.length()>0) { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(file)); List<Jobs> temp = (List<Jobs>)ois.readObject(); if(temp!=null) { list.clear(); for(Jobs t:temp) { list.add(t); } } ois.close(); } } public void check() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入experience/education/city/industry/detail/company/jobname的某些信息"); String msg = br.readLine(); String[] s = msg.split("/"); String regex = ""; for (String str : s) { regex += "[\\s\\S]*" + str + "[\\s\\S]*"; } List<Jobs> temp = new ArrayList<>(); for (Jobs j : list) { msg = j.toString(1); if(msg.matches(regex)) { temp.add(j); } } System.out.println("结果"); for (Jobs jobs : temp) { System.out.println(jobs); } } public static void main(String[] args) throws FileNotFoundException, ClassNotFoundException, IOException { Query q = new Query(); q.checkFile(); q.check(); } }
相关文章:
The above is the detailed content of Operation code for database part knowledge using JAVA. For more information, please follow other related articles on the PHP Chinese website!

MySQL index cardinality has a significant impact on query performance: 1. High cardinality index can more effectively narrow the data range and improve query efficiency; 2. Low cardinality index may lead to full table scanning and reduce query performance; 3. In joint index, high cardinality sequences should be placed in front to optimize query.

The MySQL learning path includes basic knowledge, core concepts, usage examples, and optimization techniques. 1) Understand basic concepts such as tables, rows, columns, and SQL queries. 2) Learn the definition, working principles and advantages of MySQL. 3) Master basic CRUD operations and advanced usage, such as indexes and stored procedures. 4) Familiar with common error debugging and performance optimization suggestions, such as rational use of indexes and optimization queries. Through these steps, you will have a full grasp of the use and optimization of MySQL.

MySQL's real-world applications include basic database design and complex query optimization. 1) Basic usage: used to store and manage user data, such as inserting, querying, updating and deleting user information. 2) Advanced usage: Handle complex business logic, such as order and inventory management of e-commerce platforms. 3) Performance optimization: Improve performance by rationally using indexes, partition tables and query caches.

SQL commands in MySQL can be divided into categories such as DDL, DML, DQL, DCL, etc., and are used to create, modify, delete databases and tables, insert, update, delete data, and perform complex query operations. 1. Basic usage includes CREATETABLE creation table, INSERTINTO insert data, and SELECT query data. 2. Advanced usage involves JOIN for table joins, subqueries and GROUPBY for data aggregation. 3. Common errors such as syntax errors, data type mismatch and permission problems can be debugged through syntax checking, data type conversion and permission management. 4. Performance optimization suggestions include using indexes, avoiding full table scanning, optimizing JOIN operations and using transactions to ensure data consistency.

InnoDB achieves atomicity through undolog, consistency and isolation through locking mechanism and MVCC, and persistence through redolog. 1) Atomicity: Use undolog to record the original data to ensure that the transaction can be rolled back. 2) Consistency: Ensure the data consistency through row-level locking and MVCC. 3) Isolation: Supports multiple isolation levels, and REPEATABLEREAD is used by default. 4) Persistence: Use redolog to record modifications to ensure that data is saved for a long time.

MySQL's position in databases and programming is very important. It is an open source relational database management system that is widely used in various application scenarios. 1) MySQL provides efficient data storage, organization and retrieval functions, supporting Web, mobile and enterprise-level systems. 2) It uses a client-server architecture, supports multiple storage engines and index optimization. 3) Basic usages include creating tables and inserting data, and advanced usages involve multi-table JOINs and complex queries. 4) Frequently asked questions such as SQL syntax errors and performance issues can be debugged through the EXPLAIN command and slow query log. 5) Performance optimization methods include rational use of indexes, optimized query and use of caches. Best practices include using transactions and PreparedStatemen

MySQL is suitable for small and large enterprises. 1) Small businesses can use MySQL for basic data management, such as storing customer information. 2) Large enterprises can use MySQL to process massive data and complex business logic to optimize query performance and transaction processing.

InnoDB effectively prevents phantom reading through Next-KeyLocking mechanism. 1) Next-KeyLocking combines row lock and gap lock to lock records and their gaps to prevent new records from being inserted. 2) In practical applications, by optimizing query and adjusting isolation levels, lock competition can be reduced and concurrency performance can be improved.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Zend Studio 13.0.1
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 Mac version
God-level code editing software (SublimeText3)

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft