java操作mysql数据库实例_MySQL
bitsCN.com
//接口类package com.syxy.dao;import com.syxy.domain.User;//操纵数据库的 dao接口public interface UserDao { //加入一个用户 public void addUser(User user); //得到一个用户 public User getUser( int userId); //寻找一个用户 public User findUser(String loginName); //更新用户数据 public void update(User user); //删除一个用户 public void delete(User user);}//接口的实现类package com.syxy.dao.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.syxy.dao.UserDao;import com.syxy.domain.User;import com.syxy.utils.jdbcUtils;public class UserDaoJdbcImpl implements UserDao { @Override public void addUser(User user) { // TODO Auto-generated method stub Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = jdbcUtils.getConnection(); String sql = "insert into user(name, birthday, monery) values(?,?,?)"; ps = conn.prepareStatement(sql); ps.setString(1, user.getName()); ps.setDate(2, new java.sql.Date(user.getBirthday().getTime())); ps.setFloat(3, user.getMoney()); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } } @Override public User getUser(int userId) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; User user = null; try { conn = jdbcUtils.getConnection(); String sql = "select id,name,money,birthday from user where id=?"; ps = conn.prepareStatement(sql); ps.setInt(1, userId); rs = ps.executeQuery(); while(rs.next()){ user = MappingUser(rs); } } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } return user; } @Override public User findUser(String loginName) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; User user = null; try { conn = jdbcUtils.getConnection(); String sql = "select id,money,birthday from user where name=?"; ps = conn.prepareStatement(sql); ps.setString(1, loginName); rs = ps.executeQuery(); while(rs.next()){ user = MappingUser(rs); } } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } return user; } private User MappingUser(ResultSet rs) throws SQLException { User user = new User(); user.setId(rs.getInt("id")); user.setName(rs.getString("name")); user.setMoney(rs.getFloat("money")); user.setBirthday(rs.getDate("birthday")); return user; } @Override public void update(User user) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = jdbcUtils.getConnection(); String sql = "update user set name=?, birthday=?, money=? where id=?"; ps = conn.prepareStatement(sql); ps.setString(1, user.getName()); ps.setDate(2, new java.sql.Date(user.getBirthday().getTime())); ps.setFloat(3, user.getMoney()); ps.setInt(4, user.getId()); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } } @Override public void delete(User user) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = jdbcUtils.getConnection(); String sql = "delete from user where id=?"; ps = conn.prepareStatement(sql); ps.setInt(1, user.getId()); ps.executeUpdate(); } catch (Exception e) { e.printStackTrace(); }finally{ jdbcUtils.free(rs, ps, conn); } }}//domain用户类package com.syxy.domain;import java.util.Date;public class User { private int id ; private String name ; private Date birthday ; private float money ; public int getId() { return id ; } public void setId( int id) { this .id = id; } public String getName() { return name ; } public void setName(String name) { this .name = name; } public Date getBirthday() { return birthday ; } public void setBirthday(Date birthday) { this .birthday = birthday; } public float getMoney() { return money ; } public void setMoney( float money) { this .money = money; } }//dao工厂类(方便复用)package com.syxy.dao;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.util.Properties;public class DaoFactory { private static UserDao userDao = null ; private static DaoFactory instance = new DaoFactory(); private DaoFactory(){ try { Properties prop = new Properties(); InputStream inStream = new FileInputStream( new File("src/daoconfig.properties" )); prop.load(inStream); String userDaoClass = prop.getProperty("userDaoClass" ); userDao = (UserDao) Class.forName(userDaoClass).newInstance(); } catch (Exception e) { // TODO: handle exception } } public static DaoFactory getInstance(){ return instance ; } public UserDao getUserDao(){ return userDao ; }}//操作数据库的工具类package com.syxy.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public final class jdbcUtils { private static String url = "jdbc:mysql://localhost:3306/jdbc"; private static String user = "root"; private static String password = "lxtalx"; private jdbcUtils(){} static{ try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { throw new ExceptionInInitializerError(e); } } public static Connection getConnection() throws SQLException{ return DriverManager.getConnection(url, user, password); } public static void free(ResultSet rs, Statement st, Connection conn){ try { if(rs!=null) rs.close(); } catch (Exception e) { e.printStackTrace(); }finally{ try { if(st!=null) st.close(); } catch (Exception e2) { e2.printStackTrace(); }finally{ try { conn.close(); } catch (Exception e3) { e3.printStackTrace(); } } } }}

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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics











AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

MySQL and phpMyAdmin can be effectively managed through the following steps: 1. Create and delete database: Just click in phpMyAdmin to complete. 2. Manage tables: You can create tables, modify structures, and add indexes. 3. Data operation: Supports inserting, updating, deleting data and executing SQL queries. 4. Import and export data: Supports SQL, CSV, XML and other formats. 5. Optimization and monitoring: Use the OPTIMIZETABLE command to optimize tables and use query analyzers and monitoring tools to solve performance problems.

To safely and thoroughly uninstall MySQL and clean all residual files, follow the following steps: 1. Stop MySQL service; 2. Uninstall MySQL packages; 3. Clean configuration files and data directories; 4. Verify that the uninstallation is thorough.

In MySQL, add fields using ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column, delete fields using ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop. When adding fields, you need to specify a location to optimize query performance and data structure; before deleting fields, you need to confirm that the operation is irreversible; modifying table structure using online DDL, backup data, test environment, and low-load time periods is performance optimization and best practice.

Efficient methods for batch inserting data in MySQL include: 1. Using INSERTINTO...VALUES syntax, 2. Using LOADDATAINFILE command, 3. Using transaction processing, 4. Adjust batch size, 5. Disable indexing, 6. Using INSERTIGNORE or INSERT...ONDUPLICATEKEYUPDATE, these methods can significantly improve database operation efficiency.

MySQL functions can be used for data processing and calculation. 1. Basic usage includes string processing, date calculation and mathematical operations. 2. Advanced usage involves combining multiple functions to implement complex operations. 3. Performance optimization requires avoiding the use of functions in the WHERE clause and using GROUPBY and temporary tables.

Methods for configuring character sets and collations in MySQL include: 1. Setting the character sets and collations at the server level: SETNAMES'utf8'; SETCHARACTERSETutf8; SETCOLLATION_CONNECTION='utf8_general_ci'; 2. Create a database that uses specific character sets and collations: CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci; 3. Specify character sets and collations when creating a table: CREATETABLEexample_table(idINT

To implement loose coupling design in C, you can use the following methods: 1. Use interfaces, such as defining the Logger interface and implementing FileLogger and ConsoleLogger; 2. Dependency injection, such as the DataAccess class receives Database pointers through the constructor; 3. Observer mode, such as the Subject class notifies ConcreteObserver and AnotherObserver. Through these technologies, dependencies between modules can be reduced and code maintainability and flexibility can be improved.
