您的位置:首页 > 移动开发 > Android开发

Android studio 3.01中的安卓程序以类的方式访问MySQL数据库

2017-12-31 12:13 561 查看
在JDBC4MYSQL-master这个项目中调试通了Android与MySQL的连接后,我考虑如果今后把这个作为一个函数能够随时调用
* 数据库的操作才是符合java精神的,因此参照http://blog.csdn.net/itluochen/article/details/52181589把它转换
* 成类的形式,在项目JDBCToMySql(也就是本项目)中,建了一个类文件MySqlUtil.java,在这里照着前辈的帖子写了三个方法
* :连接数据库、查询打印数据库、修改数据库。写完之后,在MainActivity中如果想调用该方法,先要设置三个参数URL、USER、
* PASSWORD。以后想连接其他数据库就修改这三个参数就行了,然后在oncreate方法中新开一个线程,进行数据库操作和打印了。
* 注意,在MySqlUtil类中的query方法的“id”和“name”是已知了mytable表中内容而写的,如果想修改其他数据库,就要把它俩改
* 成你需要的名字。
* 这样以后在需要访问MySQL的应用,就把MySqlUtil类拷贝过来,修改query里的两个参数,然后在主函数中调用
MySqlUtil.java中的内容如下,前提是要导入mysql-connector-java-*.*-bin.jar进入libs
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class MySqlUtil{//openConnection是连接数据库public static Connection openConnection(String url, String user,String password) {Connection conn = null;try {final String DRIVER_NAME = "com.mysql.jdbc.Driver";Class.forName(DRIVER_NAME);conn = DriverManager.getConnection(url, user, password);} catch (ClassNotFoundException e) {conn = null;} catch (SQLException e) {conn = null;}return conn;}//查询数据库public static void query(Connection conn, String sql) {if (conn == null) {return;}Statement statement = null;ResultSet result = null;try {statement = conn.createStatement();result = statement.executeQuery(sql);if (result != null && result.first()) {int idColumnIndex = result.findColumn("id");int nameColumnIndex = result.findColumn("name");while (!result.isAfterLast()) {System.out.println("------------------");System.out.print("id " + result.getString(idColumnIndex) + "\t");System.out.println("name " + result.getString(nameColumnIndex));result.next();}}} catch (SQLException e) {e.printStackTrace();} finally {try {if (result != null) {result.close();result = null;}if (statement != null) {statement.close();statement = null;}} catch (SQLException sqle) {}}}//执行MySQL语句的函数public static boolean execSQL(Connection conn, String sql) {boolean execResult = false;if (conn == null) {return execResult;}Statement statement = null;try {statement = conn.createStatement();if (statement != null) {execResult = statement.execute(sql);}} catch (SQLException e) {execResult = false;}return execResult;}}
MainActivity中的内容如下:
public class MainActivity extends AppCompatActivity {private static final String URL = "jdbc:mysql://192.168.1.106:3306/mark";private static final String USER = "root";private static final String PASSWORD = "root";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/*** 这是已经调试成功的Android studio连接MySQL的程序一定要保护好,加入其他程序从下面开始复制调试* 参考的帖子是我博客上的那篇,前面还有别人的一篇,做到第10步*访问MySQL数据库要用新线程,不能用主线程*/new Thread(new Runnable() {@Overridepublic void run() {Connection conn = MySqlUtil.openConnection(URL, USER, PASSWORD);System.out.println("All users info:");MySqlUtil.execSQL(conn, "insert into mytable values(56,'小李')");MySqlUtil.execSQL(conn, "update mytable set name='mark' where id=1");MySqlUtil.execSQL(conn, "delete from mytable where id=6");MySqlUtil.query(conn, "select * from mytable");}}).start();}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐