day2
项目名:
六、使用注解实现mybatis
- 面向接口编程
a):为什么要使用接口:
程序更容易拓展。
上层不用管具体的实现,各个类维护自己的即可。(遵循共同的标准,简化开发)
低耦合 适应更多变化的场景。
b):将UserDao变为接口
package com.mybatis.dao;
import java.util.List;
import com.mybatis.entity.User;
public interface UserDao {
public List<User> getList();
}
C):实现接口,如mysql的接口,oracle的接口
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191027151330149.png)
- 使用注解开发
a) 编写Dao接口
package com.mybatis.dao;
import java.util.List;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import com.mybatis.entity.User;
public interface UserDao {
//不再需要mapper文件
@Select("select * from user")
public List<User> getList();
@Insert("insert into user(name,pwd) values(#{name},#{pwd})")
public int insert(User user);
b).删除mapper.xml文件(不再需要文件中的sql语句了)
c). 在核心配置文件中导入相关类
3. 使用
package com.mybatis.test;
import java.io.IOException;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import com.mybatis.dao.UserDao;
import com.mybatis.entity.User;
import com.mybatis.util.MyBatisUtil;
import com.sun.jndi.url.corbaname.corbanameURLContextFactory;
import com.tools.MyFuns;
public class Test {
public static void main(String[] args) throws IOException {
SqlSession session = MyBatisUtil.getSession();
UserDao userDao = session.getMapper(UserDao.class);
List<User> list = userDao.getList();
for(User u:list){
System.out.println(u);
}
}
}