Mysql的基本操作
来源:互联网 发布:mac beta 转 正式版 编辑:程序博客网 时间:2024/06/15 21:42
import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import org.junit.Test;/** * * @author Administrator * */public class MysqlConnection { @Test public void testMysqlConnection() { Connection con = null; try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); // 先进行插入数据 for (int i = 1; i <= 10; i++) { // 下面的这个只是准备sql语句 PreparedStatement pps = con.prepareStatement("insert into student(name,age) value('bbbb',45)"); // 进行执行sql的语句 int result = pps.executeUpdate(); System.out.println("查询的结果如下:" + result); } con.close(); // con.prepareStatement("select * from student");//这个可以防止注入的操作 } catch (Exception e) { e.printStackTrace(); } } @Test public void Testlogin() { try { login1("bbb", "123456");// createStatement存在sql语句注入的问题 } catch (Exception e) { e.printStackTrace(); } } /** * 下面的这个方法存在sql的注入的问题,因为我们使用的是perastatement的对像 * * @param username * @param password * @throws Exception */ public void login1(String username, String password) throws Exception { // 注册我一个mysql的驱动 Class.forName("com.mysql.jdbc.Driver"); // 进行获取连接对象 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); // 准备sql的语句 String sql = "select * from user where name=? and password=?"; // 得到预编译对像 PreparedStatement ppst = con.prepareStatement(sql); // 进行给这个sql语句绑定绑定具体的值 ppst.setString(1, username);// 从1开始 ppst.setString(2, password); // 进行执行具体的sql语句 ResultSet set = ppst.executeQuery(); if (set.next()) { // 说明登录成功了 System.out.println("登录成功了!!"); System.out.println(sql); } else { System.out.println("登录失败了!!"); System.out.println(sql); } if (con != null) { con.close(); } } /** * 下面的这个案例存在sql的注入的问题 * * @param username * @param password * @throws Exception */ public void login(String username, String password) throws Exception { // 注册我一个mysql的驱动 Class.forName("com.mysql.jdbc.Driver"); // 进行获取连接对象 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); // 进行获取执行sql语句的对象 Statement stat = con.createStatement(); // 准备sql语句 String sql = "select * from user where name='" + username + "' and password='" + password + "'"; // 进行执行sql语句 ResultSet result = stat.executeQuery(sql);// select if (result.next()) { // 说明登录成功了 System.out.println("登录成功了!!"); System.out.println(sql); } else { System.out.println("登录失败了!!"); System.out.println(sql); } if (con != null) { con.close(); } } //下面开始操作分页的操作 @Test public void testDividePage(){ //页面的长度 int pagesize=4; //注册连接 try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); // 得到预编译对像 PreparedStatement ppst = con.prepareStatement("select count(1) from user"); //开始执行 ResultSet result=ppst.executeQuery(); //得到总的行数 int count=0; while(result.next()){ count=Integer.parseInt(result.getString(1)); } System.out.println(count); String sql=""; //现在开始进行具体的分页的操作 for(int i=0;i<Math.ceil((double)count/4);i++){ //准备分页的sql语句 sql="select * from user limit ?,4"; ppst = con.prepareStatement(sql); ppst.setInt(1,i*pagesize); //进行执行 ResultSet re=ppst.executeQuery(); System.out.println("当前是第"+i+"页"); while(re.next()){ System.out.println("用户名:"+re.getString("name")+": 密码:"+re.getString("password")); } } } catch (Exception e) { e.printStackTrace(); } //先确定每个页的长度为4; //那么则每个页的开始位置为(n-1)*4 } //下面开始操作分页的操作 @Test public void insertData(){ //先确定每个页的长度为4; //那么则每个页的开始位置为(n-1)*4 //注册连接 try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); for(int i=0;i<100;i++){ //创建sql语句 String sql="insert into user(name,password) value(?,?)"; // 得到预编译对像 PreparedStatement ppst = con.prepareStatement(sql); //进行绑定数据 ppst.setString(1,"bbb"+i); ppst.setString(2,"00"+i); //开始执行 ppst.executeUpdate(); } //最后关流 if(con!=null){ con.close(); } } catch (Exception e) { e.printStackTrace(); } }}
阅读全文
0 0
- MySQL的基本操作
- Mysql的基本操作
- MySQL的基本操作
- MySQL的基本操作
- mysql的基本操作
- MySql的基本操作
- MySql的基本操作
- mysql 的基本操作
- mysql的基本操作
- MySQL的基本操作
- MySQL的基本操作
- mysql的基本操作
- MySQL的基本操作
- mysql的基本操作
- MySQL的基本操作
- mysql的基本操作
- MySQL的基本操作
- Mysql的基本操作
- Problem solved list
- tomcat8 部署阿里的dubbo服务治理框架
- Css 中的position属性
- 在阿里ECS(CentOS)上配置Apache、PHP、MariaDB、WordPress的过程
- django 在pycharm 中添加模板省去每次新建py文件都要写一样的开头
- Mysql的基本操作
- 目标驱动测试过程改进——《The Little TMMi》
- SpringMVC接收json字符串转为List对象(数组对象)
- HDM接口执行定时刷新查询脚本
- java 网络流 TCP Socket和SeverSocket 互相交互对字符串进行大写转换
- redis之运维相关(10)
- IO多路复用_Select & poll
- [资源] Visual Studio 2015正式版离线iso及在线下载,附专业版和企业版可用key!
- MySQL中的异常处理,游标