1.mybatis有18个模块:参考 https://github.com/tuguangquan/mybatis
jdbc的操作
1.1
String URL="jdbc:mysql://127.0.0.1:3306/ssm?autoReconnect=true&useUnicode=true&characterEncoding=utf8";
String USER="root";
String PASSWORD="root";
Class.forName("com.mysql.jdbc.Driver");
//2.通过(java.sql下的)驱动管理类获取数据库连接
Connection conn=DriverManager.getConnection(URL,USER,PASSWORD);
1.2
String sql = "insert into student_info(name,hobby,major) values(?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,name);
pstmt.setString(2,hobby);
pstmt.setString(3,major);
pstmt.executeUpdate();
pstmt.close();
mybatis的操作: (sqlMapConfig.xml配置文件如下:)
1.0 获得连接对象
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="admin"/>
</dataSource>
1.1
//创建一个SessionFactory
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build((InputStream)Resources.getResourceAsStream(sqlMapConfig.xml));
//获取Session
SqlSession session = sessionFactory.openSession();
1.2 完成输入集的参数封装
<insert id="insertUser" paremter="test.User">
insert into user (username,sex)values (#{username},#{sex})
</insert>
User user = new User();
user.setUsername("张三");
user.setSex("男");
sqlSession.insert("test.insertUser", user);
完成输出集的参数封装
<select id="selectUser" resultType="test.User">
select username,sex from user where id=#{id}
</select>
/**
*与配置文件里面的select标签相对应(test是命名空间,insertUser是id)
*调用mybatis封装好的根据id查找的selectOne方法
*/
User user = session.selectOne("test.selectUser", 1);
session.close();
mybatis通过接口找到对应的实现类