jsp代码实现利用MyBatis完成数据库的访问。创建一张t book 表,表中字段为—— id(PK, int,4), name(char,20), price(double),pubDate(date),分别表示主键、书名、价格和出版日期。运行程序,将表中记录全部显示,之后,输入书名,按书名完成查询并显示查询结果。
时间: 2023-12-03 13:45:37 浏览: 84
jsp编写与数据库连接·,在界面上实现一些操作
4星 · 用户满意度95%
这是一个简单的基于MyBatis的Java Web项目,需要在项目中引入MyBatis相关依赖。下面是实现代码:
1. 首先,创建t_book表,如下:
```sql
CREATE TABLE `t_book`(
`id` int(4) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(20) NOT NULL DEFAULT '' COMMENT '书名',
`price` double(10,2) DEFAULT NULL COMMENT '价格',
`pubDate` date DEFAULT NULL COMMENT '出版日期',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='图书表';
```
2. 创建Book实体类,对应t_book表的字段:
```java
public class Book {
private int id;
private String name;
private double price;
private Date pubDate;
// 省略getter和setter方法
}
```
3. 创建BookMapper接口,定义操作t_book表的方法:
```java
public interface BookMapper {
List<Book> selectAllBooks(); // 查询所有书籍
Book selectBookByName(@Param("name") String name); // 根据书名查询书籍
}
```
4. 创建BookMapper.xml文件,编写SQL语句:
```xml
<mapper namespace="com.example.mapper.BookMapper">
<select id="selectAllBooks" resultType="com.example.entity.Book">
select * from t_book
</select>
<select id="selectBookByName" resultType="com.example.entity.Book">
select * from t_book where name = #{name}
</select>
</mapper>
```
5. 在MyBatis的配置文件中,配置数据源和mapper:
```xml
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/BookMapper.xml"/>
</mappers>
</configuration>
```
6. 编写查询所有书籍的代码:
```java
public class Test {
public static void main(String[] args) {
SqlSession sqlSession = null;
try {
// 获取SqlSession
sqlSession = MyBatisUtils.getSqlSession();
// 获取Mapper
BookMapper bookMapper = sqlSession.getMapper(BookMapper.class);
// 查询所有书籍
List<Book> books = bookMapper.selectAllBooks();
// 输出结果
for (Book book : books) {
System.out.println(book);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭SqlSession
MyBatisUtils.closeSqlSession(sqlSession);
}
}
}
```
7. 编写根据书名查询书籍的代码:
```java
public class Test {
public static void main(String[] args) {
SqlSession sqlSession = null;
try {
// 获取SqlSession
sqlSession = MyBatisUtils.getSqlSession();
// 获取Mapper
BookMapper bookMapper = sqlSession.getMapper(BookMapper.class);
// 根据书名查询书籍
String name = "Java";
Book book = bookMapper.selectBookByName(name);
// 输出结果
if (book != null) {
System.out.println(book);
} else {
System.out.println("没有找到名为" + name + "的书籍!");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭SqlSession
MyBatisUtils.closeSqlSession(sqlSession);
}
}
}
```
通过以上步骤,我们就可以利用MyBatis完成数据库访问了。
阅读全文