public class Test1 {
//不使用xml文件创建SqlSessionFactory
public static void main(String[] args) {
//创建获取datasource的类
DataSource dataSource = PersonDataSourceFactory.getDataSource();
//对应XML Transaction
TransactionFactory transactionFactory = new JdbcTransactionFactory();
//对应xml Environment
Environment environment =
new Environment("development", transactionFactory, dataSource);
//对应xml Configuration
Configuration configuration = new Configuration(environment);
configuration.addMapper(PersonMapper.class);
//Reader reader=Resources.getResourceAsReader("configuration.xml");
//SqlSessionFactory sqlmapper=new SqlSessionFactoryBuilder().build(reader);
//XML创建sqlsessionfactory与java创建sqlsessionfactory对比
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(configuration);
SqlSession session=sqlSessionFactory.openSession();
PersonMapper mapper=session.getMapper(PersonMapper.class);
Person person=mapper.selectperson(4);
System.out.println(person);
/*Person pm=(Person)session.selectOne("com.struts.test.PersonMapper.selectperson", 4);
System.out.println(pm);*/
}
}
创建一个获取datasource的类
public class PersonDataSourceFactory {
public static DataSource getDataSource() {
com.mysql.jdbc.jdbc2.optional.MysqlDataSource ds = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();
ds.setServerName("localhost");
ds.setPortNumber(3306);
ds.setDatabaseName("web");
ds.setUser("root");
ds.setPassword("hong1990");
return ds;
}
}
在来就是创建一个注解的查询类
public interface PersonMapper {
@Select("select * from person where id=#{id} ")
Person selectperson(int id);
}
xml的方式主要就是配置和获取SqlSessionFactory的方法不同,参考其空间其他文章纯java方式文档上说只能用于简单查询。