前述的几种java访问数据库的方式:
jdbc是最原始的方式,使用比较繁琐;
JdbcTemplate方式相对方便性有一些提高,但在工程应用中仍然很不方便。
接下来继续记录使用持久化框架来进行数据库操作,本文记录使用Mybatis进行记录的的简单示例:
1、定义
官网的定义:
MyBatis is a first class persistence framework with support for custom SQL, stored procedures and advanced mappings. MyBatis eliminates almost all of the JDBC code and manual setting of parameters and retrieval of results. MyBatis can use simple XML or Annotations for configuration and map primitives, Map interfaces and Java POJOs (Plain Old Java Objects) to database records.
2、依赖
spring中使用mybatis需要添加如下依赖(pom.xml):
org.mybatis
mybatis-spring
1.3.3
org.mybatis
mybatis
3.4.6
3、配置文件
class="org.apache.commons.dbcp2.BasicDataSource"destroy-method="close">
class="org.mybatis.spring.SqlSessionFactoryBean">
4、sql映射文件
/p>
PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select*from user
5、接口定义
packagecom.test.database.mybatis;importjava.util.List;importcom.test.database.User;public interfaceTestDao {public ListgetAll();
}
User定义
packagecom.test.database;public classUser {private intid;privateString name;privateString password;public intgetId() {returnid;
}public void setId(intid) {this.id =id;
}publicString getName() {returnname;
}public voidsetName(String name) {this.name =name;
}publicString getPassword() {returnpassword;
}public voidsetPassword(String password) {this.password =password;
}
@OverridepublicString toString() {return "User [id=" + id + ", name=" + name + ", password=" + password + "]";
}
}
6、测试类
packagecom.test;importorg.springframework.beans.BeansException;importorg.springframework.context.ApplicationContext;importorg.springframework.context.support.ClassPathXmlApplicationContext;importcom.test.database.mybatis.TestDao;public classMain {public static void main(String[] args) throwsBeansException, Exception {
ApplicationContext context= new ClassPathXmlApplicationContext("spring-context*.xml");//测试mybatis
System.out.println(context.getBean(TestDao.class).getAll());
}
}
7、测试结果
[User [id=1, name=tim, password=tim], User [id=2, name=park, password=park]]