javaweb jdbc 登录注册第一步,网页数据传送到mysql数据库学习的笔记

一开始看“动力节点”的jdbc教程看到将字符串数据以mysql添加数据写法写入mysql数据库,我看了真的热血,像我这个各种到处学的精神就来试试jsp怎么写(注:jsp就是html + java,底层是java的io流)

显示按照教程的来写:
1、先是注册驱动:

java.sql.Driver driver = new com.mysql.cj.jdbc.Driver();
DriverManager.registerDriver(driver);

2、然后获取连接& 6、释放资源:

Connection conn = null;
try {
        String url = "jdbc:mysql://localhost:3306/mysql_learn_two";
        Sring user = "root";
        String password = "qw18358174722er";
        conn = DriverManager.getConnection(url, user, password);
	    out.println(conn);
	}catch (SQLException e){
            e.printStackTrace();
    }finally {
            try {
                if(conn != null){
                    conn.close();
                }
            }catch (SQLException s){
                s.printStackTrace();
            }
    }

这里抛出了SQLExecption异常要处理和要关闭流

3、获取数据库操作对象:

stmt = conn.createStatement();

4、执行sql:

//java写法
String sql = "insert into t_user_one_1(userName,userPwd) values('lisi','12345')";
int count = stmt.executeUpdate(sql);
System.out.println(count == 1 ? "保存成功":"保存失败");
//jsp写法
<%
String sql = "insert into t_user_one_1(userName,userPwd) values('lisi','12345')";
int count = stmt.executeUpdate(sql);
out.println(count == 1 ? "保存成功":"保存失败");
%>

这些都是固定值添加到数据库中的数据,接下来就是动态添加了
先是html里写这样一串代码:

<form action="../jsp/regCheck1.jsp" method="post">
	用户名<input type="text" name="userName" placeholder="请问您怎么称呼"><br />
    密码<input type="text" name="userPwd" placeholder="请保护好您的密码"><br />
    <input type="submit" value="注册"><br />
</form>
标签用于为用户输入创建 HTML 表单。 将表单里的就是我的jsp处理内容了。 jsp的内容跟上面差不多,只是我改了第四部的sql字符串。之前,在有一篇中提到的内容中让我发现字符串的格式化可能可以实现,但是遇到了一些坎:
Unknown column 'wo' in 'field list'

找到的却是:

$sql="INSERT INTO user(user,pass) values($user,$pass)";

最终没解决问题

之后又是

You have an error in your SQL syntax;

找到的是:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id=4' at line 1

也就是说在sql语句出现错误,在sql语句的第一行的‘id=4’附近。

这时候可以看到这个语句的user_name,age,sex,id并不是一些mysql内部关键字。

在sql语句中更新语句就是:

update  tbl_user_info

set  user_name=?,age=?,sex=?

where id=?

所以就是在“sex=?”+“ where id=?”加上一个空格就好。

也没有起任何作用。
后来我又查了java的格式化格式

    String str=null;  
    str=String.format("Hi,%s", "小超");  
    System.out.println(str);  
    str=String.format("Hi,%s %s %s", "小超","是个","大帅哥");            
    System.out.println(str);                           
    System.out.printf("字母c的大写是:%c %n", 'C');  
    System.out.printf("布尔结果是:%b %n", "小超".equal("帅哥"));  
    System.out.printf("100的一半是:%d %n", 100/2);  
    System.out.printf("100的16进制数是:%x %n", 100);  
    System.out.printf("100的8进制数是:%o %n", 100);  
    System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85);  
    System.out.printf("上面价格的16进制数是:%a %n", 50*0.85);  
    System.out.printf("上面价格的指数表示:%e %n", 50*0.85);  
    System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g %n", 50*0.85);  
    System.out.printf("上面的折扣是%d%% %n", 85);  
    System.out.printf("字母A的散列码是:%h %n", 'A');  

之后在努力下找到了这边:

解决方法:


1、如果是作插入操作“insert into.....”的话,很可能是插入表的字段没匹配对,比如有一些要求非空的字段,要检查是否都赋了值。


2、查看插入时,赋值是否加了单引号:values(“'”+变量+“'”,'“'”+变量+“'”)。


3、总之,就是要仔细检查sql语句,最好先去数据库中,运行一下看看。 

的第二句话,让我恍然大悟。

结论:

String sql = String.format("insert into t_user_one_1(userName,userPwd) values('%s','%s')",userName1,userPwd1);

这样就可以随机的添加到mysql数据库的表中。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

结城明日奈是我老婆

支持一下一直热爱程序的菜鸟吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值