29.6 MyBatis_入门案例
package com.xww.test;
import com.xww.dao.IUserDao;
import com.xww.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
public class MybatisTest {
public static void main(String[] args)throws Exception {
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
SqlSession session = factory.openSession();
IUserDao userDao = session.getMapper(IUserDao.class);
List<User> users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
session.close();
in.close();
}
}
- 分析
29.7 MyBatis_注解开发和编写 dao 实现类的方式
29.7.1 注解开发
- 删除 IUserDao.xml 映射文件
- 在 IUserDao 接口中的查询所有方法上加入注解
package com.xww.dao;
import com.xww.domain.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface IUserDao {
@Select("select * from user")
List<User> findAll();
}
- Mybais 的主配置文件中,读取配置文件的方式需要改成如下
<mappers>
<mapper class="com.xww.dao.IUserDao"/>
</mappers>
29.7.2 dao 实现类
package com.xww.dao.impl;
import com.xww.dao.IUserDao;
import com.xww.domain.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class UserDaoImpl implements IUserDao {
private SqlSessionFactory factory;
public UserDaoImpl(SqlSessionFactory factory){
this.factory = factory;
}
public List<User> findAll(){
SqlSession session = factory.openSession();
List<User> users = session.selectList("com.xww.dao.IUserDao.findAll");
session.close();
return users;
}
}
package com.xww.test;
import com.xww.dao.IUserDao;
import com.xww.dao.impl.UserDaoImpl;
import com.xww.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.List;
public class MybatisTest {
public static void main(String[] args)throws Exception {
InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
IUserDao userDao = new UserDaoImpl(factory);
List<User> users = userDao.findAll();
for(User user : users){
System.out.println(user);
}
in.close();
}
}