框架是軟件開發中的一套解決方案,不同的框架解決的是不同的問題。
使用框架的好處:
框架封裝了很多的細節,使開發者可以使用極簡的方式實現功能。大大提高開發效率。
java server page。三層架構
數據庫 | 實體類 |
---|---|
id | userId |
user_name | userName |
———— | ———— |
id | id |
username | username |
第一步:創建maven工程并導入坐標
Mybatis。第二步:創建實體類和dao的接口
第三步:創建Mybatis的主配置文件(SqlMapConifg.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis的主配置文件 -->
<configuration><!-- 配置環境 --><environments default="mysql"><!-- 配置mysql的環境--><environment id="mysql"><!-- 配置事務的類型--><transactionManager type="JDBC"></transactionManager><!-- 配置數據源(連接池) --><dataSource type="POOLED"><!-- 配置連接數據庫的4個基本信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/db1"/><property name="username" value="root"/><property name="password" value="1419"/></dataSource></environment></environments><!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件 --><mappers><mapper resource="cn/myp666/dao/UserDao.xml"/></mappers>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.myp666.dao.UserDao"><!--配置查詢所有--><select id="findAll" resultType="cn.myp666.domain.User">select * from user</select>
</mapper>
第一個:在Mybatis中它把持久層的操作接口名稱和映射文件也叫做:Mapper
第二個:在idea中創建目錄的時候,目錄和包是不一樣的
包在創建時:cn.myp666.dao它是三級結構
目錄在創建時:cn.myp666.dao是一級目錄
第三個:mybatis的映射配置文件位置必須和dao接口的包結構相同
第四個:映射配置文件的mapper標簽namespace屬性的取值必須是dao接口的全限定類名
第五個:映射配置文件的操作配置(select),id屬性的取值必須是dao接口的方法名
當我們遵從了第三,四,五點之后,我們在開發中就無須再 寫dao的實現類。
//1.讀取配置文件InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml");//2.創建SqlSessionFactory工廠SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();SqlSessionFactory factory = builder.build(is);//3.使用工廠生產SqlSession對象SqlSession session = factory.openSession();//4.使用SqlSession創建Dao接口的代理對象UserDao userDao = session.getMapper(UserDao.class);//5.使用代理對象執行方法List<User> users = userDao.findAll();for(User user : users){System.out.println(user);}//6.釋放資源session.close();is.close();
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态