发表于: 2017-08-30 21:55:46
1 973
一、今日完成
1.学习泛型概念,了解如何定义定义泛型方法和泛型类
1)定义一个泛型方法,该方法在调用时可以接收不同类型的参数
public class GenericMethodTest {
public static < E > void printArray( E[] inputArray ) {
for ( E element : inputArray ){
System.out.printf( "%s ", element );
}
System.out.println();
}
public static void main( String args[] )
{
Integer[] intArray = { 1, 2, 3, 4, 5 };
Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 };
Character[] charArray = { 'H', 'E', 'L', 'L', 'O' };
System.out.println( "整型数组元素为:" );
printArray( intArray );
System.out.println( "\n双精度型数组元素为:" );
printArray( doubleArray );
System.out.println( "\n字符型数组元素为:" );
printArray( charArray );
}
}
2)定义一个泛型类
public class Box<T> {
private T t;
public void add(T t) {
this.t = t;
}
public T get() {
return t;
}
public static void main(String[] args) {
Box<Integer> integerBox = new Box<Integer>();
Box<String> stringBox = new Box<String>();
integerBox.add(new Integer(10));
stringBox.add(new String("好好学习"));
System.out.printf("整型值为 :%d\n\n", integerBox.get());
System.out.printf("字符串为 :%s\n", stringBox.get());
}
}
2.复习传统JDBC方法,把工具书上讲解的各种接口与概念重新浏览一遍,发现做任务1过程中总结的一些经验有所遗忘。计划在本周剩下的时间里,抽空把传统JDBC、Spring JDBC和mybatis连接数据库的方法分别编写代码实现出来,集中对比总结它们各自的主要特点。
3.程凯师兄整理出了Java学员任务进度和学时安排模板,在经过各位师兄的补充和修补后,晚上时候把任务1和任务2添加进禅道个人项目中。然后浏览分析了任务2~9的总学时计划,目前看来,在10月底能够完成全部任务。另外,以后每日的进度严格按照禅道拆解的时长控制,在日报中贴出进度链接。
4.学习SqlSessionFactory和SqlSession对象
1)SqlSessionFactory类的实例(相当于是产生连接池),通过调用SqlSessionFactoryBuilder类的实例的build方法来完成;而SqlSessionFactoryBuilder可以从XML文件或者预定义的Configuration实例构建。
i.读取XML文件
String resource = "org/mybatis/example/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream) ;
ii.通过预定义实例构建
DataSource dataSource = BlogDataSourceFactory.getBlogDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();
Environment environment = new Environment("development", transactionFactory, dataSource);
Configuration configuration = new Configuration(environment);
configuration.addMapper(BlogMapper.class);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(configuration) ;
2)SqlSession对象
SlSession是执行持久化操作的对象,类似于JDBC中的Connection。包含方法有
int insert (String statement, Object parameter)、int update(String statement, Object parameter)、int delete (String statement, Object parameter)、<T> T selectOne(String statement, Object parameter)、<E> List<E>selectList(String statement, Object parameter, RowBounds rowBounds)、void close()、Connection getConnection()等。
5.学习mybatis的关联映射和动态SQL用法,仅浏览相关概念和用法,没有代码实战,所以总结下来发现并没有积累什么知识点,这些放到以后遇到相关代码时候再去深入学习。
二、明日计划
1.把之前完成的REST接口放到jetty中运行,学习jetty命令的用法;;
2.下载Postman/dhc,测试写的接口。
三、遇到的问题
今天主要完成的就是看书学习Java基本概念、mybatis配置文件的详细用法以及mybatis的关联映射等知识点,在日报里缺少总结出的具体的代码和讲解说明。
四、收获
对mabatis了解地更加深入;学习泛型的基本用法,对比集合类,大致分清二者的用法区别。
评论