发表于: 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关联。
评论