当前位置: 首页 > 编程日记 > 正文

Java项目:药品管理系统(java+swing+Gui+mysql)

源码获取:博客首页 "资源" 里下载!

功能介绍:用户管理、药品库存管理、进销管理、营销管理、药品购入、药品售出、药市信息

系统主页:

@SuppressWarnings("serial")
public class SystemMainView extends JFrame implements ActionListener{
JButton button,btnOk,select;
JScrollPane jsp;
JTextPane area=new JTextPane();
JTextField textfield;
JFileChooser fc=new JFileChooser();
File file=null;
ImageIcon imageIcon=new ImageIcon("E:\\图片册\\lan.jpg");public SystemMainView(){setTitle("药品管理系统");this.setSize( 900, 500);setResizable(false);setLocationRelativeTo(null);layoutUI();this.setVisible(true);}private void layoutUI(){//对象实例化JTabbedPane tab = new JTabbedPane(JTabbedPane.TOP); //容器Container container = this.getLayeredPane();//对象化面板JPanel combop = new JPanel(){public void paintComponent(Graphics g) {super.paintComponent(g);ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");g.drawImage(icon.getImage(), 0, 0, null);}};JPanel p1 = new EmployeeManagerView();JPanel p2 = new Medicine();JPanel p3 = new MarketView();JPanel p4 = new MarketMessage();JPanel p5 = new JPanel(){public void paintComponent(Graphics g) {super.paintComponent(g);ImageIcon icon=new ImageIcon("E:\\图片册\\pu.jpg");g.drawImage(icon.getImage(), 0, 0, null);}};p5.add(new JButton("药品信息百科"));textfield=new JTextField(10);p5.add(textfield);select=new JButton("浏览");p5.add(select);select.addActionListener(this);p5.add(btnOk=new JButton("确定"));btnOk.addActionListener(this);tab.add(p1,"        用户管理         ");tab.add(p2,"       药品库存管理    ");tab.add(p3,"        进销管理         ");tab.add(p4,"       营销信息         ");
//  tab.add(p5,"       问答园地         ");tab.setBackground(Color.green);tab.setFont(new Font("Dialog",1,17));JLabel JL = new JLabel("药品管理系统");combop.add(JL);JL.setFont(new Font("Dialog",1,23));JL.setBackground(Color.green);container.setLayout(new BorderLayout());container.setBackground(Color.cyan);container.add(combop,BorderLayout.NORTH);container.add(tab,BorderLayout.CENTER);}public void actionPerformed(ActionEvent e){if (e.getSource()==select){int intRetVal=fc.showOpenDialog(this);if(intRetVal==JFileChooser.APPROVE_OPTION){file=fc.getSelectedFile();	textfield.setText(file.getPath());}}if(e.getSource()==btnOk){JFrame f=new JFrame();f.setSize(500, 370);f.setLocationRelativeTo(null);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setVisible(true);area=new JTextPane();jsp=new JScrollPane(area);jsp.getViewport().setBackground(Color.green);area.setBackground(Color.cyan);area.setOpaque(false);//area.setLineWrap(true);//area.setWrapStyleWord(true);f.add(jsp);try{readFile(area);}catch(Exception ex){}}
}
private void readFile(JTextPane area)throws Exception{if(file !=null){FileReader fr=new FileReader(file);BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(file),"GBK"));try{while (br.ready()){area.setText(area.getText()+br.readLine()+"\r\n");}}finally{br.close();fr.close();}}
}
}

登录服务类:

public class LoginView extends JFrame implements ComponentListener{private JPanel centerJpanel;private JTextField userName;private JPasswordField password;private JLabel label1;private JLabel label2;private JPanel southJpanel;private JButton loginBtn;private JButton regiestBtn;private JPanel bgPanel;public LoginView() {setTitle("登录");
//		buildUi();setSize(380, 400);setLocationRelativeTo(null);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);}/*** 初使化界面*/@SuppressWarnings("serial")public void buildUi(){bgPanel = new JPanel(){public void paintComponent(Graphics g) {  super.paintComponent(g);  ImageIcon icon;  Image img; icon = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片 img = icon.getImage();g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);  } };add(bgPanel);bgPanel.setLayout(new BorderLayout(20,20));//实例化中间容器centerJpanel = new JPanel(){public void paintComponent(Graphics g) {  super.paintComponent(g);  ImageIcon icon;  Image img; icon = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片 img = icon.getImage();//下面这行是为了背景图片可以跟随窗口自行调整大小,可以自己设置成固定大小  g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);} };//实例化用户名密码控件label1=new JLabel("用户:");label1.setFont(new Font("Dialog",1,15));userName = new JTextField(24);label2=new JLabel("密码:");label2.setFont(new Font("Dialog",1,15));password = new JPasswordField(24);//添加用户名密码控件到 中间容器中centerJpanel.add(label1);centerJpanel.add(userName);centerJpanel.add(label2);centerJpanel.add(password);centerJpanel.setBackground(null);//实列化欢迎字,并添加到根容器的北边JLabel label3 = new JLabel("药品管理系统");label3.setHorizontalAlignment(JLabel.CENTER);label3.setFont(new Font("Dialog",1,20));label3.setForeground(Color.green);label3.setBackground(Color.white);bgPanel.add(label3,BorderLayout.NORTH);//添加中间容器到根容器的中间bgPanel.add(centerJpanel,BorderLayout.CENTER);southJpanel = new JPanel();southJpanel.setBackground(Color.white);regiestBtn = new JButton("注册");regiestBtn.setBackground(Color.lightGray);regiestBtn.setSize(100, 60);southJpanel.add(regiestBtn);southJpanel.setBackground(Color.white);regiestBtn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {new RegiestView();}});loginBtn = new JButton("登录");loginBtn.setBackground(Color.lightGray);loginBtn.setSize(100, 60);southJpanel.add(loginBtn);loginBtn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {try {doLogin();} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});bgPanel.add(southJpanel,BorderLayout.SOUTH);}@SuppressWarnings("deprecation")private void doLogin() throws SQLException{String username = userName.getText().trim();String password = this.password.getText().trim();String sql = "select * from EmployeeInfo "+ "where eid=? and password=? and isAdmin=1";SqlHelper sqlHelper = new SqlHelper();ResultSet result = sqlHelper.query(sql, new String[]{username,password});if (result.next()) {//登录成功new SystemMainView();dispose();}else{JOptionPane.showConfirmDialog(null, "您不是管理员    无法登陆!","提示",JOptionPane.WARNING_MESSAGE);}}public static void main(String[] args) {new LoginView();}public void componentResized(ComponentEvent e) {System.out.println(getWidth()+"X"+ getHeight());ImageIcon background = new ImageIcon("E:\\图片册\\lvu.jpg");// 背景图片 JLabel label = new JLabel(background);// 把背景图片显示在一个标签里面  // 把标签的大小位置设置为图片刚好填充整个面板  label.setBounds(0, 0, getWidth(),  getHeight());  JPanel imagePanel = (JPanel) getContentPane();  imagePanel.setOpaque(false);  // 内容窗格默认的布局管理器为BorderLayout  getLayeredPane().add(label, new Integer(Integer.MIN_VALUE));}@Overridepublic void componentMoved(ComponentEvent e) {}public void componentShown(ComponentEvent e) {}@Overridepublic void componentHidden(ComponentEvent e) {}}

员工管理控制层:

public class EmployeeManagerView extends JPanel {private DefaultTableModel dtm = new DefaultTableModel();private JTable empJtable = new JTable(dtm);private JScrollPane centerJscrollPane = new JScrollPane(empJtable);private JPanel bottomAllJpane = new JPanel();private JPanel bottonPageJpanel = new JPanel(){public void paintComponent(Graphics g) {  super.paintComponent(g);  ImageIcon icon;  Image img; icon = new ImageIcon("E:\\图片册\\pu.jpg");// 背景图片 img = icon.getImage();g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);} };private JButton firstButton, lastButton, preButton, nextButton;private JLabel pageInfoLagel;private JPanel bottomJpanel = new JPanel(){public void paintComponent(Graphics g) {  super.paintComponent(g);  ImageIcon icon;  Image img; icon = new ImageIcon("E:\\图片册\\puu.jpg");// 背景图片 img = icon.getImage();g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);} };private JButton newButton, updateButton, deleteButton;private JPanel topJpanel = new JPanel(){public void paintComponent(Graphics g) {  super.paintComponent(g);  ImageIcon icon;  Image img; icon = new ImageIcon("E:\\图片册\\pu.jpg");// 背景图片 img = icon.getImage();g.drawImage(img, 0, 0,this.getWidth(), this.getHeight(), this);} };private JLabel filterUserNameJLable = new JLabel("员工id/员工姓名");private JTextField filterUsernameJTexfd = new JTextField(12);private JLabel isAdminJLabel = new JLabel("身份(管理员/普通员工)");private JTextField isAdminJTexfd = new JTextField(12);private JButton searchBtn = new JButton("查找");private ArrayList<Object[]> datas = null;int pageSize = 3; // 每页显示条数int dataSum = 0; // 总的数据条数int pageCount = 0; // 总页数int currntPage = 0; // 当前页数public EmployeeManagerView() {setLayout(new BorderLayout());add(centerJscrollPane, BorderLayout.CENTER);dtm.addColumn("员工id");dtm.addColumn("名称");dtm.addColumn("姓别");dtm.addColumn("入职日期");dtm.addColumn("年龄");dtm.addColumn("是否管理");try {dataSum = getDataCount();} catch (SQLException e1) {e1.printStackTrace();}bottomAllJpane.setLayout(new BorderLayout());bottomAllJpane.setPreferredSize(new Dimension(900,240));bottomAllJpane.add(bottonPageJpanel, BorderLayout.CENTER);firstButton = new JButton("首页");firstButton.setBackground(Color.green);lastButton = new JButton("尾页");lastButton.setBackground(Color.green);preButton = new JButton("上一页");preButton.setBackground(Color.green);nextButton = new JButton("下一页");nextButton.setBackground(Color.green);pageInfoLagel = new JLabel(" ");pageInfoLagel.setOpaque(true);pageInfoLagel.setFont(new Font("Dialog",1,18));bottonPageJpanel.add(firstButton);bottonPageJpanel.add(preButton);bottonPageJpanel.add(nextButton);bottonPageJpanel.add(lastButton);bottonPageJpanel.add(pageInfoLagel);firstButton.addActionListener(new PageClick());lastButton.addActionListener(new PageClick());preButton.addActionListener(new PageClick());nextButton.addActionListener(new PageClick());//refreshJTable();newButton = new JButton("新增用户");newButton.setBackground(Color.green);newButton.setFont(new Font("Dialog",1,15));updateButton = new JButton("修改用户");updateButton.setBackground(Color.green);updateButton.setFont(new Font("Dialog",1,15));deleteButton = new JButton("删除用户");deleteButton.setBackground(Color.green);deleteButton.setFont(new Font("Dialog",1,15));bottomJpanel.add(newButton);bottomJpanel.add(updateButton);bottomJpanel.add(deleteButton);bottomJpanel.setPreferredSize(new Dimension(900,80));bottomAllJpane.add(bottomJpanel, BorderLayout.SOUTH);add(bottomAllJpane, BorderLayout.SOUTH);newButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {AddEmployeeView aev = new AddEmployeeView(EmployeeManagerView.this);}});deleteButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {
//				deleteEmployee();comfirmDelete();}});updateButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int selectIndex = empJtable.getSelectedRow();if(selectIndex == -1){JOptionPane.showConfirmDialog(null, "请先选中一行","提示",JOptionPane.WARNING_MESSAGE);}else{Object[] row = datas.get(selectIndex);String eid = (String) row[0];new UpdateEmployeeView(eid, EmployeeManagerView.this);}}});topJpanel.add(filterUserNameJLable);filterUserNameJLable.setFont(new Font("Dialog",1,13));topJpanel.add(filterUsernameJTexfd);topJpanel.add(isAdminJLabel);isAdminJLabel.setFont(new Font("Dialog",1,13));topJpanel.add(isAdminJTexfd);topJpanel.add(searchBtn);searchBtn.setFont(new Font("Dialog",1,13));searchBtn.setBackground(Color.green);add(topJpanel, BorderLayout.NORTH);searchBtn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {getFilter();}});pageCount = dataSum  / pageSize;if (dataSum % pageSize >0) {pageCount ++;}refreshJTable(currntPage + 1, pageSize);}/*** 查找所有员工* * @return* @throws SQLException*/private ArrayList<Object[]> getEmployeesByDb(int begin, int size) throws SQLException {ArrayList<Object[]> employeeslist = new ArrayList<Object[]>();// 查询sql语句String sql = "select * from EmployeeInfo limit " + begin + "," + size + "";// 查询数据ResultSet result = new SqlHelper().query(sql, new String[] {});if (result != null) {while (result.next()) {Object rows[] = new Object[6];rows[0] = result.getString(1);rows[1] = result.getString(3);rows[2] = result.getString(4).equals("0") ? "女" : "男";rows[3] = result.getString(5);rows[4] = result.getString(6);rows[5] = result.getString(7).equals("0") ? "普通员工" : "管理员";employeeslist.add(rows);}} else {JOptionPane.showConfirmDialog(null, "没有查询到员工", "提示", JOptionPane.WARNING_MESSAGE);}return employeeslist;}private int getDataCount() throws SQLException {int count = 0;String sql = "select count(*) as count from EmployeeInfo";// 查询数据ResultSet result = new SqlHelper().query(sql, new String[] {});if (result != null && result.next()) {count = result.getInt(1);}return count;}@SuppressWarnings("unused")private void printPageInfo(){String pageInfo = "当前页数"+(currntPage+1) +"  /"+" 总页数   "+pageCount;pageInfoLagel.setText(pageInfo);}/*** 刷新表格数据*/public void refreshJTable(int begin, int size) {dtm.setNumRows(0);try {datas = getEmployeesByDb(begin, size);for (int i = 0; i < datas.size(); i++) {dtm.addRow(datas.get(i));}} catch (SQLException e) {e.printStackTrace();}printPageInfo();}/*** 过滤查找员工* * @return* @throws SQLException*/private ArrayList<Object[]> getFliterEmployeesByDb(String username, String isAdmin) throws SQLException {ArrayList<Object[]> employeeslist = new ArrayList<Object[]>();// 查询sql语句String sql = "select * from EmployeeInfo where (eid like '%" + username + "%'  or  ename like '%" + username+ "%') ";// 查询数据ResultSet result = null;if (isAdmin == null || isAdmin.equals("") ) {sql += ";";result = new SqlHelper().query(sql, new String[] {});} else {sql += " and isAdmin = '" + isAdmin + "';";result = new SqlHelper().query(sql, new String[] {});}if (result != null) {while (result.next()) {Object rows[] = new Object[6];rows[0] = result.getString(1);rows[1] = result.getString(3);rows[2] = result.getString(4).equals("0") ? "女" : "男";rows[3] = result.getString(5);rows[4] = result.getString(6);rows[5] = result.getString(7).equals("0") ? "普通员工" : "管理员";employeeslist.add(rows);}} else {JOptionPane.showConfirmDialog(null, "没有查询到员工", "提示", JOptionPane.WARNING_MESSAGE);}return employeeslist;}public void getFilter() {String username = filterUsernameJTexfd.getText().trim();String isAdmin = isAdminJTexfd.getText().trim();dtm.setNumRows(0);try {datas = getFliterEmployeesByDb(username, isAdmin);for (int i = 0; i < datas.size(); i++) {dtm.addRow(datas.get(i));}} catch (SQLException e) {e.printStackTrace();}}private void comfirmDelete(){int i = JOptionPane.showConfirmDialog(null, "您确认要删除吗?","提示",JOptionPane.OK_CANCEL_OPTION);if(i == 0){deleteEmployee();}}/*** 删除员工*/private void deleteEmployee(){int selectIndex = empJtable.getSelectedRow();if(selectIndex == -1){JOptionPane.showConfirmDialog(null, "请先选中一行","提示",JOptionPane.WARNING_MESSAGE);}else{Object[] row = datas.get(selectIndex);String eid = (String) row[0];deleteEmployeeById(eid);}}private void deleteEmployeeById(String eid){String sql = "delete from EmployeeInfo where eid='"+eid+"';";boolean result = new SqlHelper().update(sql, new String[]{});if (result) {refreshJTable(currntPage + 1, pageSize);}else{JOptionPane.showConfirmDialog(null, "删除失败!","提示",JOptionPane.WARNING_MESSAGE);}}class PageClick implements ActionListener {@Overridepublic void actionPerformed(ActionEvent e) {JButton button = (JButton) e.getSource();if (button.equals(firstButton)) {if (currntPage != 0) {currntPage = 0;}} else if (button.equals(preButton)) {if (currntPage > 0) {currntPage--;}} else if (button.equals(nextButton)) {if (currntPage < pageCount-1) {currntPage++;}} else if (button.equals(lastButton)) {if (currntPage < pageCount-1) {currntPage = pageCount;}}refreshJTable(currntPage * pageSize, pageSize);}}}

源码获取:博客首页 "资源" 里下载!

相关文章:

WEBSHELL跳板REDUH使用说明

原文链接: http://www.fendou.info/network/webshell-proxy-reduh.html reDuh是可以把内网服务器的端口通过http或https隧道转发到本机&#xff0c;形成一个TCP连通回路&#xff0c;用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部端口的工具。 reDuh和LCX类似&…

站立会议(三)

一、会议时间&#xff1a;2014年4月13日 二、会议目的&#xff1a;统计项目进度以及每个人的进度、计划以及问题 三、会议内容&#xff1a; 党云龙&#xff1a; 今天内容 查阅资料&#xff0c;上网搜索&#xff0c;完成API调用&#xff1b; 遇到问题 还是在实现的时候无法阻止…

python celery

celery 一般用于做异步 和定时任务 不过听网上说 celery 坑还是蛮多的&#xff0c;特别定时任务&#xff0c;我们一般用来做定时任务&#xff0c;还有数据导入导出。celery 不支持 redis cluster 集群模式uWSGI 自带了一个简单的 Spooler 可以处理大部分异步任务和周期运行的任…

c语言实现memcpy

今天到I 公司去面试&#xff0c;面试方式比较特殊&#xff0c;没有笔试&#xff0c;就是2 个面试官&#xff0c;一人一句轮番发问&#xff0c;涉及面很广&#xff0c;涉及到操作系统(MMU 、page out 、process/thread 、semaphore 、interrupt), OOP( 多态、design pattern) 、…

Java项目:图书管理系统(java+swing+Gui+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 功能介绍&#xff1a;借阅列表、图书类别管理、图书馆里、用户管理、借阅管理、关于我们 登录服务类&#xff1a; WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet …

十五天精通WCF——第三天 client如何知道server提供的功能清单

通常我们去大保健的时候&#xff0c;都会找姑娘问一下这里能提供什么服务&#xff0c;什么价格&#xff0c;这时候可能姑娘会跟你口述一些服务或者提供一份服务清单&#xff0c;这样的话大 家就可以做到童嫂无欺&#xff0c;这样一份活生生的例子&#xff0c;在wcf中同样是一个…

MySQL Cluster 日常维护

在前面几篇文章已经详细介绍了MySQL Cluster的搭建&#xff0c;配置讲解。而且相信大家都掌握了基本用法。现在我们来看看Cluster的日常维护。熟悉日常维护&#xff0c;将有助于工作中更好的管理和使用Cluster。 一. 数据备份 相信大家都熟悉mysql的日常备份工具&#xff0c;比…

20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告

20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告 一、个人贡献 参与课设题目讨论及完成全过程&#xff1b; 资料收集&#xff1b; 负责环境搭建&#xff0c;代码运行下载&#xff1b; 撰写小组结题报告。 二、设计中遇到的问题及解决方法 1 实验六以太网服…

extern数组与extern指针

数组名代表了存放该数组的那块内存&#xff0c;它是这块内存的首地址。这就说明了数组名 是一个地址&#xff0c;而且&#xff0c;还是一个不可修改的常量&#xff0c;完整地说&#xff0c;就是一个地址常量。数组名 跟枚举常量一样&#xff0c;都属于符号常量。数组名 这个符号…

Java项目:医院管理系统(java+javaweb+jdbc+Mysql+lw)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 功能介绍&#xff1a; 登录、注册、用户/管理员(角色)、用户信息管理、科系信息管理、查看所有科系、新增科系信息、删除指定科系、修改科系信息、病房信息管理、病人信息管理、医生类型管理、病人手术管理…

Mongodb地理空间索引

1、索引&#xff1a; 建立索引既耗时也费力&#xff0c;还需要消耗很多资源。使用{"bakckground":true}选项可以使这个过程在后台完成&#xff0c;同时正常处理请求。如果不包括background 这个选项&#xff0c;数据库会阻塞建立索引期间的所有请求。阻塞的做法会让索…

Juniper的路由器、防火墙、交换机如何恢复出厂配置

Juniper的路由器、防火墙、交换机如何恢复出厂配置有些时候&#xff0c;在正常的业务使用中&#xff0c;逐条删除配置的内容很繁琐&#xff0c;我们可以使用恢复出厂配置&#xff0c;清空设备中的配置&#xff1b;还有的时候&#xff0c;由于设备配置异常&#xff0c;可以使用恢…

【转载】标准输入输出、错误输出、重定向标准输出

【转载】标准输入输出、错误输出、重定向标准输出 原文&#xff1a;标准输入输出、错误输出、重定向标准输出 再来看看 >& 操作符&#xff1a; 重定向操作符描述 > 将命令输出写入到文件或设备&#xff08;如打印机&#xff09;&#xff0c;而不是命令提示符窗口或…

(Interrupt Latency) 中断延迟

中断延迟 (Interrupt Latency) 中断延迟 是指从硬件中断发生到开始执行中断处理程序第一条指令之间的这段时间。 也就是&#xff1a; 计算机接收到中断信号到操作系统作出响应&#xff0c;并完成换到转入中断服务程序的时间。 不严格地&#xff0c;也可以表述为&#xff1a…

Java项目:干活管理系统(java+SSM+Jsp+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 前台用户和后台管理员两种角色&#xff1a; 前台用户功能有&#xff1a;发布兼职、发布帖子、查看公告、个人中心、投诉等。 后台管理员功能有&#xff1a;用户管理、兼职管理、帖子管理、聊天管理、广告管…

20135234mqy 实验四

北京电子科技学院&#xff08;BESTI&#xff09; 实 验 报 告 课程&#xff1a;java程序设计 班级&#xff1a;1352 姓名&#xff1a;mqy 学号&#xff1a;20135234 成绩&#xff1a; 指导教师&#xff1a;娄嘉鹏 实验日期&#xff1a;2015.6…

我的第一张地图报表

一直以来对于地图都很陌生&#xff0c;感觉好强大&#xff0c;可以根据地理位置去分析数据&#xff0c;下面我简单的做了一张地图展示数据的报表。 接下来就简单的说一下设计过程和应该注意的地方 效果&#xff1a;&#xff08;鼠标放在省份区域上&#xff0c;显示该省的数据&a…

SpringBoot第十篇:thymeleaf详解

作者&#xff1a;追梦1819 原文&#xff1a;https://www.cnblogs.com/yanfei1819/p/10931435.html 版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请附上博文链接&#xff01; 引言 SpringBoot 对 Web 的支持&#xff0c;官方推荐的是模板引擎 thymelaf。本章中&…

嵌入式系统开发过程中遇到的——volatile

嵌入式 系统开发过程中遇到的—— volatile 对于不同的计算机体系结构&#xff0c;设备可能是端口映射&#xff0c;也可能是内存映射的 。如果系统结构支持独立的 I/O 地址空间&#xff0c;并且是端口映射&#xff0c;就必须使用汇编语言完成实际对设备的控制&#xff…

薏米红豆粥的功效和实践演示

熬薏米红豆粥有很多技巧和讲究。薏米很硬&#xff0c;红豆也很硬&#xff0c;假设已经煮在锅里&#xff0c;大概熬一个多小时不坏&#xff0c;这是一种浪费火灾或电力&#xff0c;它甚至可以把水烧开&#xff0c;原因症结。我建议的方法有两种&#xff1a;第一种方法是在锅里加…

Java项目:财务预算管理系统(java+SSM+Jsp+Mysql+Layui+Maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能包括&#xff1a;实现公司对项目的管理。 二、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 mysql Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09; …

POJ 3080 多个串最长公共子序列

求多个串最长公共子序列&#xff0c;字典序最小输出。枚举剪枝kmp.比较简单&#xff0c;我用find直接查找16ms #include<iostream> #include<string> #include<algorithm> using namespace std; string s[61]; int main() {int ta;cin>>ta;int n;while…

HDU 2561 第二小整数

2019-05-27 18:07:06 加油&#xff0c;坚持&#xff01;&#xff01;&#xff01; 水题 #include <bits/stdc.h> using namespace std; int a[100]; int main() {int t;scanf("%d", &t);while(t--){int n;scanf("%d", &n);for (int i 0; i …

Java项目:在线高中考试系统(java+SSM+Jsp+Mysql+Maven)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 项目分为前台和后台&#xff0c;前台主要为学生角色、后台主要为管理员角色。 管理员添加试题和发布试卷&#xff0c;学生负责在线考试、在线查看成绩和错题记录列表等。 管理员功能有&#xff1a;年级管理…

asp.net mvc 学习

Routing讲解&#xff1a; http://www.cnblogs.com/wangiqngpei557/p/3379095.html Filter讲解&#xff1a; http://www.cnblogs.com/ymnets/p/3452407.html ASP.NET MVC 支持以下类型的操作筛选器&#xff1a; 授权筛选器。 这些筛选器用于实现 IAuthorizationFilter 和做出关于…

Linux数据库性能优化--文件系统相关优化

实际也中也用到下文中所说的内存文件系统1、ramfs 记得是32位文件系统安装oracle 为oracle分配SGA突破1.7G大小限制2、mmap 的文件可以放在tmpfs挂载的文件系统中http://www.ibm.com/developerworks/cn/linux/management/tune/index.html1&#xff0e; 引言实践证明Lin…

jQuery Mobile的学习时间bottonbutton的事件学习

版权声明&#xff1a;本文为博主原创文章。未经博主同意不得转载。https://blog.csdn.net/xmt1139057136/article/details/27700521 程序猿都非常懒&#xff0c;你懂的&#xff01; 生命的绝唱来机仅仅争朝夕&#xff0c;如诗的年华更需惜时如金。不要让今天的懈怠成为一生的痛…

C++中 public,protected, private 访问标号小结

第一&#xff1a;private, public, protected 访问标号的访问范围。 private&#xff1a; 只能由1.该类中的函数、2.其友元函数访问。 不能被任何其他访问&#xff0c;该类的对象也不能访问。 protected&#xff1a; 可以被1.该类中的函数、2.子类的函数、以及3.其友元函数…

Java项目:学生管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a; 学生管理&#xff0c;教师管理&#xff0c;课程管理&#xff0c;成绩管理&#xff0c;系统管理等等。 二、项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 M…

UVA 11752 超级幂

UVA 11752 超级幂 Z - The Super PowersTime Limit:1000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice UVA 11752Description 题意&#xff1a;定义一个数为超级幂&#xff0c;当这个数能表示成至少两个不同数字的幂时。如162^4&#x…