发表于: 2020-06-04 22:54:34

3 1690


今日作为:1.上午搞定了服务器安装并且成功的在我之前写的Mybatis程序中查询了数据

                 2.使用@Insert("SQL")  @Update("SQL") @Delete("SQL")完成了任务一的验收标准(CRUD操作)

                 3.根据DB命名规范重新修改了数据库的名字



然后问题来了。。。



问题1:根据任务1的验收标准有一个需要在增加行之后返回一个自增ID键,但是自增的ID键不用填啊,要手动填写的话就要填null,但是null怎么返回的结              果都是0!!!

            百度说通过在执行insert方法后使用SELECT LAST_INSERT_ID();

                                 SHOW TABLE STATUS;             等其他方法都返回的是0!!!

             难道必须要手动输入ID之后才能查到么?




:问题2:通过远程连接Mysql,使用自定义域名并通过配置本地Host来配置DB连接文件

 

              这段话的意思是将远程Mysql服务器IP与域名动态解析?然后用自己整的域名在配置文件中去连接数据库么?

              比如本地是           jdbc:mysql://localhost/数据库

              一般远程是           jdbc:mysql://IP/数据库

             


                任务的要求是        jdbc:mysql://域名/数据库                 ?????????????



问题3:任务要求通过学员名字和学号去查询数据,然后这是整到晚上都没搞定的事情!!!强烈请教师兄!!!!555555555555


             要达到这个要求@Select(“SQL”)这种写死的就不行

             所以去百度,资料说需要动态SQL,也就是SQL语句的拼接

             百度上面给了很多种方法,我也去翻了官方文档,但是有一个很重要的问题他们没有一个人说


                                                      怎么他娘的把数据传进去啊啊啊啊啊啊啊啊啊啊啊啊啊!!!!


官方文档:

          

// 动态条件(注意参数需要使用 final 修饰,以便匿名内部类对它们进行访问)

public String selectPersonLike(final String id, final String firstName, final String lastName)

{   

return new SQL() {{    

SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FIRST_NAME, P.LAST_NAME");    

FROM("PERSON P");    

if (id != null) {      WHERE("P.ID like #{id}");    }    

if (firstName != null) {      WHERE("P.FIRST_NAME like #{firstName}");    }    

if (lastName != null) {      WHERE("P.LAST_NAME like #{lastName}");    }    

ORDER_BY("P.LAST_NAME");  }}

.toString();}



#{“字符串”}这是占位符 代表上面的形参final string id....等

但是这段方法和所属的类最后是写在这里呀 @SelectProvider()的参数

public interface StudentDao {
   // Create
   //@InsertProvider(type = StudentProvider.class,method = "insert")
   public void insert();

   // Retrieve_ALll
   @SelectProvider(type = StudentProvider.class,method = "selectall")
   public List<LinkedHashMap<String,Object>> queryall();

   //Retrieve_By_Name
   @SelectProvider(type = StudentProvider.class,method = "select_by_name")
   public List<LinkedHashMap<String,Object>> queryByName();

官方文档里面是怎么把数据传进SQL去的???

我尝试过在类中定义全局变量

这是我的实体类,对应表的字段里面有get set 方法

我希望能在Test类中通过set方法设定比如Name的值,通过下面的get方法与字符串拼接形成一个能自定义的SQL语句



               然而编译器不会报错,Test测试会丢你一个异常SQL必须要字符串+字符串。。。

public static Student_mysql_Values stu = new Student_mysql_Values();


public String select_by_name(){
return new SQL(){{
SELECT("*");
           FROM("student");
           if (!= null){
WHERE("Name ="+stu.getName);


跪求师兄教我~  任务1就差这个了 看文档 查资料已经吐了,只想躺赢了OVO



问题5:  是个小问题

              

SELECT("*");
           FROM("student");
           if (!= null){
WHERE("Name ="+stu.getName);

在IF语句的判断条件中

                                 int i    != null;        会报错?

我尝试用 Integer这个封装类也不行,必须要字符串!

难道在有时候判断用户输入的时候需要整形非空就没啥其他办法了么?




问题6:小任务里面有个插入100W条数据到数据库,那是在哪里找的脚本,师兄有门路么?


明天计划:继续按验收标准完成任务1


                                          






                                                                                                                                                                 头都大了。。。。溜了溜了


返回列表 返回列表
评论

    分享到