简单入门Java中实现mybatis访问数据库功能
1、 新建一个maven工程
2、 配置文件
Mapper.xml文件的配置:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEmapper PUBLIC "-//mybatis.org//DTDMapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--命名空间应该是对应接口的包名+类名 -->
<mappernamespace="spring.NeedDao">
<!--id应该是接口中的方法,结果类型如没有配置别名则应该使用全名称 -->
Mybatis.xml文件的配置:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEconfiguration PUBLIC"-//mybatis.org//DTDConfig 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAliasalias="Need"type="spring.Need"/>
</typeAliases>
<environmentsdefault="development">
<environmentid="development">
<transactionManagertype="JDBC"/>
<dataSourcetype="POOLED">
<propertyname="driver"value="com.mysql.jdbc.Driver"/>
<propertyname="url"value="jdbc:mysql://192.168.1.205:3306/oxiaomeng"/>
<propertyname="username"value="root"/>
<propertyname="password"value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapperresource="mapper.xml"/>
</mappers>
</configuration>
Log4j2.xml的文件配置:
<?xmlversion="1.0"encoding="UTF-8"?>
<Configurationstatus="off"monitorInterval="1800">
<Appenders>
<Consolename="Console"target="SYSTEM_OUT">
<PatternLayoutpattern="%d{HH:mm:ss.SSS}[%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Rootlevel="debug">
<AppenderRefref="Console"/>
</Root>
</Loggers>
</Configuration>
3. 各种类的实现
public abstract class MybatisUtil {
private static SqlSessionFactory factory=null;
public static SqlSessionFactory getSqlSessionFactory(){
if(factory==null){
InputStream config = MybatisUtil.class.getClassLoader().getResourceAsStream("mybtis-config.xml");
factory = new SqlSessionFactoryBuilder().build(config);
}
returnfactory;
}
public static SqlSession getSession(){
returngetSqlSessionFactory().openSession(true);
}
public static SqlSession getSession(booleanisAutoCommit){
returngetSqlSessionFactory().openSession(isAutoCommit);
}
}
import java.util.List;
public interface NeedDao {
public List<Need> getAllNeed();
}
public class Need {
int id;
String user_id;
String latitude;
String longitude;
String need_code;
String text;
Date create_date;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUser_id() {
return user_id;
}
public void setUser_id(String user_id) {
this.user_id = user_id;
}
public String getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
this.latitude = latitude;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
}
public String getNeed_code() {
return need_code;
}
public void setNeed_code(String need_code) {
this.need_code = need_code;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public Date getCreate_date() {
return create_date;
}
public void setCreate_date(Date create_date) {
this.create_date = create_date;
}
}
public class NeedImpl implements NeedDao{
@Override
public List<Need> getAllNeed() {
// TODO Auto-generated method stub
SqlSession session=MybatisUtil.getSession();
try {
NeedDao needDao= session.getMapper(NeedDao.class);
return needDao.getAllNeed();
} finally {
session.close();
}
}
}
public class Main {
public static void main(String[] args){
NeedDao nd = new NeedImpl();
List<Need> need = nd.getAllNeed();
for(Need n : need){
System.out.println(n.getId()+n.getUser_id()+n.getCreate_date()+n.getNeed_code()+n.getLatitude()+n.getLongitude()+n.getText());
}
}
}