1. data Persistence: The mechanism that transforms the data in the program between the instantaneous state and the persistent state is the data persistence;
2. Persistent Implementation: Database, ordinary file, XML file;
3. JDBC encapsulation: Using interface-oriented programming, can reduce the coupling between the code;
To improve the maintainability and extensibility of the code, we use JDBC to encapsulate the data: First, define the unified API, the code of Operation data into the interface, the business logic code only need to call the implementation class object of these interfaces, can realize the access to the data, In order to isolate the implementation details and adopt interface-oriented programming, we can reduce the coupling between the code and improve the extensibility and maintainability of the code. |
Advantages:
- ● Isolate business logic code and data access code
● isolate the implementation of different databases |
reasons for encapsulation: business code and data access code coupling: Poor readability, not conducive to late modification and maintenance, not conducive to code reuse; |
4 , DAO: role: DAO acts as a converter, converting entity classes to records in a database;
DAO Model Summary: DAO (data access Objects) data Access objects, located between business logic and persistence, enable access to persistent data, In layman's words, it is to encapsulate the data operation and provide the corresponding interface to the outside. |
In the object-oriented design process, there are some routines to solve problems, called patterns, DAO mode provides an interface for accessing the operations required by a relational data system, separating data access from business logic, and providing an object-oriented data access interface to the upper layer . |
As can be seen from the DAO pattern, it achieves a two-layer separation. ● The data access code and the business logic code are isolated, the business logic code calls the DAO method directly, completely does not feel the existence of the data table, the division of labor is clear, the data Access layer code does not affect the business logic layer code, which also conforms to the single function principle, reduces the coupling degree and improves the reusability of the code. ● isolate the implementation of different databases, using interface-oriented programming, if the underlying data changes, such as MySQL becomes Oracle. Need to increase the implementation of the DAO interface class can be, the original MySQL implementation class without modification, which conforms to the opening and shutting principle, reduce coupling, improve scalability and portability |
A typical DAO pattern consists mainly of the following parts. DAO interface: Defines all operations on the database as abstract methods, which are placed inside the interface, and can provide multiple implementations DAO Implementation classes: Implementations of different DAO interface-defined methods for different databases (different implementation classes) entity class: Used to store the transmitted object data, directly passing the object on the line, do not pass many parameters Database connection Close Tool class: There are some such as add, delete, re-use code can be extracted into the public class, as well as close and connect the database, to avoid code redundancy ... |
Very popular data access mode--dao mode Data Access object Between business logic and persisted data Implementing access to persistent data |
DAO part of the pattern DAO Interface DAO Implementation Class Entity class Database connection and Shutdown tool classes |
4. Properties config file: Let the user modify the related variable settings from the program itself--using the configuration file;
prpoerties classes: Classes that can read Java configuration files, we write common configuration information in the configuration file, easy to maintain, read. |
Properties configuration file: Java configuration file is generally the end of the properties. The format is a key = value pair, which can be annotated with #, |
Add Properties Profile step: Src folder right-----NEW-----File-----Output Properties end of configuration file. to add configuration information to the file: Eg: driver=com.mysql.jdbc.driver // Add load-driven string url=jdbc:mysql://localhost:3306/epet // Add a linked string, localhost can also be an IP address, 3306 is the port number, Epet is the database name username=epetadmin // database user name password=root // database user password |
N the configuration file in Java is often the properties file the U suffix is. properties U format is "key = value" Format U use "#" to annotate |
The Properties class is provided in Java to read the configuration file :
Method name |
Say |
String GetProperty (strin G key) |
Search for properties in this property list with the specified key. The corresponding value is obtained by the parameter key |
Object SetProperty (String key, String value) |
Call Hashtable method put. Set key-value pairs by calling the base class's put () method |
void Load (InputStream in Stream) |
reads the list of attributes (key and element pairs) from the input stream. Gets all the key-value pairs in the file by loading the specified file |
void Clear () |
clears the loaded key-value pair, which is provided by the base class Hashtable |
6 , using entity classes to pass data: Data access code and business logic code transfer data through the entity class class, the related information is encapsulated into the entity class, the program passes the entity class as the parameter of the method.
Characteristics of entity classes ★ entity class general properties using private decoration ★ According to business requirements and packaging requirements of the entity class Getter/setter method, responsible for reading and assigning attributes, general use of public decoration ★ provide parameterless constructors for entity classes and provide parametric construction methods based on business requirements. ★ entity class best Implement Java.io.Serializable interface, support serialization mechanism, can convert object to byte serialization and save to disk (hard disk) or network transmission. ★ If the entity class implements the Serializable interface. You should define the attribute Serialversionuid to resolve different versions of the serialization problem ... |
Implementing database Programming with Java -08 DAO pattern