发表于: 2017-07-19 22:42:49

4 1228


今天做的事:、

置顶喜讯!!!

问题解决!!!

原来是乱码问题,导致数据库查询时找不到结果。


首先昨天的bug未解决,暂时搁置,日后再回头看吧,不影响任务的审核,不过我还是贴一下,看有没有屌大的给指点迷津

不知为何从远程服务器按姓名获取数据列表获取不到数据;按ID获取单行就可以;并且本地数据库可以获取列表。


这个问题是JDBCTemplate的查询问题,姑且放一放,日后再回头看吧。卡了一上午。


测试用mybatis的resultMap返回列表

也是本地正常,从远程服务器的数据库中提取不出 数据

控制台上没有数据的打印信息


然后贴一下我的粗鄙代码

Configure.xml

<?xml version = "1.0" encoding = "UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <typeAliases>
       <typeAlias alias="Student" type = "domain.Student"/>
   </typeAliases>

   <environments default="development">
       <environment id="development">
           <transactionManager type="JDBC"></transactionManager>
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://www.motherfucker.com:3306/mission1"/> <!--更改hosts文件访问远程数据库;就是这里,在后面加上“?characterEncoding=utf-8“解决乱码问题就可以打印了-->
               <property name="username" value="root"/>
               <property name="password" value="yubotao9527"/>
           </dataSource>
       </environment>
   </environments>

   <mappers>
       <mapper resource="Student.xml"/>
       <mapper class="dao.Annotation"/>
   </mappers>

</configuration>


Student.xml配置文件中的按姓名查找SQL语句

<select id="getStudentListByName" parameterType="String" resultMap="Student">
   select * from businesstable where SName = #{SName}
</select>


相关测试代码

@Test
public void getStudentListByName() throws IOException{
SqlSession sqlSession = getSession();
   List<Student> list = sqlSession.selectList("stu.getStudentListByName","测试");
   //System.out.println(list);
   for(Student record1:list) {
System.out.print("SName :" + record1.getSName());
       System.out.print(",QQ :" + record1.getQQ());
       System.out.print(",Style :" + record1.getStyle());
       System.out.print(",Time :" + record1.getTime());
       System.out.print(",School :" + record1.getSchool());
       System.out.print(",SNumber :" + record1.getSNumber());
       System.out.print(",Link :" + record1.getLink());
       System.out.print(",Dream :" + record1.getDream());
       System.out.print(",FBro :" + record1.getFBro());
       System.out.print(",YBro :" + record1.getYBro());
       System.out.print(",WhereKnow :" + record1.getWhereKnow());
       System.out.print(",ID :" + record1.getID());
       System.out.print(",create_at :" + record1.getCreate_at());
       System.out.println(",update_at :" + record1.getUpdate_at());
   }
sqlSession.close();
}


运行结果

后面还有一个询问是否使用SSL的,但是不懂,没了解。


好了问题解决,任务一没有遗憾了!


然后说一下今天做的事,不多,整理了一下任务一的后续,准备上传,但是师兄让我先熟悉一下Git的用法,然后有个很好的Git教程,链接如下:

http://blog.jobbole.com/78960/


还有今天又插入了一组数据,并且每次循环插入12个不同数据,在执行有无索引的查询结果如下:

无索引

有索引

共有条数


小知识点:

java判断列表为空

list.isEmpty();方法


配置hosts文件,通过自定义域名访问服务器数据库

前面写真实域名,空格,自定义域名


然后学习了一下Mybatis配置Annotation注解访问数据库

大体和配置文件差不多,不过只需要主配置文件,不需要SQL语句的那个配置文件了

然后创建一个注解接口,接口内使用注解来定义SQL语句,并在下面写出实现的抽象方法;

格式如下:

@Select("select * from businesstable where ID = #{ID}")
public Student selectById(Integer ID);

其他类似

然后测试用例基本就和配置文件实现的测试用例一样了。


明天计划:搞清楚Git,并且上传任务一审核;任务一通过后,梳理一下最近所学知识;后天再开始任务二。


问题:悬案已贴上,其他暂时无问题。


收获:mybatis的注解配置;配置hosts文件自定义域名;熟悉Git,并且和GitHub关联。


返回列表 返回列表
评论

    分享到