Android(安卓)实现连接MySQL数据库并进行增删改查操作
16lz
2021-12-04
1.Android端 连接MySQL数据库的实现代码
public class DBOpenHelper {
private static String driver = "com.mysql.jdbc.Driver";//MySQL 驱动private static String url = "jdbc:mysql://IP:3306/数据库";//MYSQL数据库连接Urlprivate static String user = "root";//用户名private static String password = "123456";//密码
/** * 连接数据库 * */
public static Connection getConn(){ Connection conn = null; try { Class.forName(driver);//获取MYSQL驱动 conn = (Connection) DriverManager.getConnection(url, user, password);//获取连接 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn;}/** * 关闭数据库 * */public static void closeAll(Connection conn, PreparedStatement ps){ if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } }}/** * 关闭数据库 * */public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs){ if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } }}
}
2.增删改查实现代码
public class DBService {
private Connection conn=null; //打开数据库对象private PreparedStatement ps=null;//操作整合sql语句的对象private ResultSet rs=null;//查询结果的集合//DBService 对象public static DBService dbService=null;/** * 构造方法 私有化 * */private DBService(){}/** * 获取MySQL数据库单例类对象 * */public static DBService getDbService(){ if(dbService==null){ dbService=new DBService(); } return dbService;}/** * 获取要发送短信的患者信息 查 * */
//查询语句操作实现代码 //## (select)
public List getUserData(){ //结果存放集合 List list=new ArrayList(); //MySQL 语句 String sql="select * from user"; //获取链接数据库对象 conn= DBOpenHelper.getConn(); try { if(conn!=null&&(!conn.isClosed())){ ps= (PreparedStatement) conn.prepareStatement(sql); if(ps!=null){ rs= ps.executeQuery(); if(rs!=null){ while(rs.next()){ User u=new User(); u.setId(rs.getString("id")); u.setName(rs.getString("name")); u.setPhone(rs.getString("phone")); u.setContent(rs.getString("content")); u.setState(rs.getString("state")); list.add(u); } } } } } catch (SQLException e) { e.printStackTrace(); } DBOpenHelper.closeAll(conn,ps,rs);//关闭相关操作 return list;}/** * 修改数据库中某个对象的状态 改 * */
/ /修改操作实现语句(update)
public int updateUserData(String phone){ int result=-1; if(!StringUtils.isEmpty(phone)){ //获取链接数据库对象 conn= DBOpenHelper.getConn(); //MySQL 语句 String sql="update user set state=? where phone=?"; try { boolean closed=conn.isClosed(); if(conn!=null&&(!closed)){ ps= (PreparedStatement) conn.prepareStatement(sql); ps.setString(1,"1");//第一个参数state 一定要和上面SQL语句字段顺序一致 ps.setString(2,phone);//第二个参数 phone 一定要和上面SQL语句字段顺序一致 result=ps.executeUpdate();//返回1 执行成功 } } catch (SQLException e) { e.printStackTrace(); } } DBOpenHelper.closeAll(conn,ps);//关闭相关操作 return result;}/** * 批量向数据库插入数据 增 * */
//增加功能操作实现代码(add)
public int insertUserData(List list){ int result=-1; if((list!=null)&&(list.size()>0)){ //获取链接数据库对象 conn= DBOpenHelper.getConn(); //MySQL 语句 String sql="INSERT INTO user (name,phone,content,state) VALUES (?,?,?,?)"; try { boolean closed=conn.isClosed(); if((conn!=null)&&(!closed)){ for(User user:list){ ps= (PreparedStatement) conn.prepareStatement(sql); String name=user.getName(); String phone=user.getPhone(); String content=user.getContent(); String state=user.getState(); ps.setString(1,name);//第一个参数 name 规则同上 ps.setString(2,phone);//第二个参数 phone 规则同上 ps.setString(3,content);//第三个参数 content 规则同上 ps.setString(4,state);//第四个参数 state 规则同上 result=ps.executeUpdate();//返回1 执行成功 } } } catch (SQLException e) { e.printStackTrace(); } } DBOpenHelper.closeAll(conn,ps);//关闭相关操作 return result;}/** * 删除数据 删 * */
//删除操作实现代码(delete)
public int delUserData(String phone){ int result=-1; if((!StringUtils.isEmpty(phone))&&(PhoneNumberUtils.isMobileNumber(phone))){ //获取链接数据库对象 conn= DBOpenHelper.getConn(); //MySQL 语句 String sql="delete from user where phone=?"; try { boolean closed=conn.isClosed(); if((conn!=null)&&(!closed)){ ps= (PreparedStatement) conn.prepareStatement(sql); ps.setString(1, phone); result=ps.executeUpdate();//返回1 执行成功 } } catch (SQLException e) { e.printStackTrace(); } } DBOpenHelper.closeAll(conn,ps);//关闭相关操作 return result;}
}
更多相关文章
- 2011.07.19——— android intent 传递list或者对象
- android init.rc增加一个自定义的service
- Android(安卓)性能优化二 内存优化
- android 设计模式相关内容
- LayoutInflater.inflate()方法的介绍
- Android(安卓)Bundle类
- 关于android在Service中弹出Dialog对话框
- Android使用HttpClient时出现错误:java.lang.NoSuchFieldError: N
- FregServer进程,获取ServiceManager代理对象