发表于: 2017-07-14 23:59:41

1 1284


今天完成的事情:

(今天的日报写完了竟然没提交就关机了。。。我也是醉了。。。)

任务17:

jdbcTemplate的用法

在DAO里定义一个 jdbcTemplate:

private DataSource dataSource;

private JdbcTemplate jdbcTemplate;

public void setDataSource(DataSource dataSource) {

this.dataSource = dataSource;

}

增:

jdbcTemplate = new JdbcTemplate(dataSource);

jdbcTemplate.update(sql, new Object[] { student.getId(),

student.getName(),student.getQq(),student.getType(),student.getEnterDate(),

student.getSchool(),student.getStId(),student.getLink(),student.getWord(),

student.gettA(),student.getSource(),student.getUpdate_at(),student.getCreate_at()

});

查:

jdbcTemplate = new JdbcTemplate(dataSource);

student = (Student)jdbcTemplate.queryForObject(sql, new Object[] {id},

new BeanPropertyRowMapper<Student>(Student.class));

BeanPropertyRowMapper可以自动映射,只要数据库的列名和bean的变量名符合规范(一致或中间有下划线隔开)

还有一种是让DAO继承JdbcDaoSupport,这样就不用定义datasource和jdbcTemplate,而是使用getJdbcTemplate

增:

getJdbcTemplate().update(sql, new Object[] { student.getId(),

student.getName(),student.getQq(),student.getType(),student.getEnterDate(),

student.getSchool(),student.getStId(),student.getLink(),student.getWord(),

student.gettA(),student.getSource(),student.getUpdate_at(),student.getCreate_at()

});

查:

student = (Student)getJdbcTemplate().queryForObject(sql, new Object[] {id},

new BeanPropertyRowMapper<Student>(Student.class));


接着是mybatis:

第一种 直接用

写一个mybatis的config文件

mapper就是和javabean的映射

然后是StudentDAO.xml,id和StudentDAO接口里面的函数名对应,这样后面可以直接用DAO类操作

然后在主函数这样配置:

String resource = "mybatis-config.xml";

InputStream inputStream = Resources.getResourceAsStream(resource);

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

SqlSession session = sqlSessionFactory.openSession();

然后可以选择用

Student student1= (Student)session.selectOne("com.tom.springjdbc.dao.StudentDAO.get", 1L);

 session.insert("com.tom.springjdbc.dao.StudentDAO.addStudent",student);

 session.delete("com.tom.springjdbc.dao.StudentDAO.delStudent",24L); 

 session.update("com.tom.springjdbc.dao.StudentDAO.updateStudent",student2);

lS =session.selectList("com.tom.springjdbc.dao.StudentDAO.query");

也可以用DAO类直接操作

session记得要commit()


最后是Spring+Mybatis:

Spring-module:

spring-mybatis

主函数:

ApplicationContext context = new ClassPathXmlApplicationContext("spring-module.xml");  

SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) context.getBean("sqlSessionFactory");

SqlSession session = sqlSessionFactory.openSession();









返回列表 返回列表
评论

    分享到